Por lo que puedo ver te mareaste un poco.
Lo que debes tener es:
1 - Un recordset con los resultados de todas las categorías (RsCategorias)
2 - Un recordset con los demás datos que muestres, y la categoría seleccionada incluida (RsDatos) - espero que se entienda.
Entonces:
En htm con asp embebido se ve más claro y los wyswyg vas siguiendo el diseño
Código:
<select name="miSelect">
<%While Not RsCategorias.eof%>
<option value="<%=RsCategorias("Valor_Clave")%>" <% if(RsCategorias("Valor_Clave"= RsDatos("Valor_Categoria" Then response.Write("Selected='selected') end if%>><%=RsCategorias("Descripcion")%></option>
<%RsCategorias.MoveNext()
Wend
%>
</select>
Adaptando esto a tus propios nombres de datos, debería funcionarte bien.
Edité porque había olvidado envolver el código en sus etiquetas correspondientes.