No, no está bien por qué usas una función y no la concatenas (se hace con el "punto" para "unir" stirngs/cadenas o funcioes que devuelvan una cadena en general).
Código PHP:
<?
echo "<option value=\"".$row_select["id_categoria"]."\">".substr($caracter , 0, 10)."</option>";
Por otro lado como veras .. no me gusta poner comillas simples por qué me puedan dar problemas con las comillas dobles que un tag HTML así defina .. Para eso se "escapa" la comilla (o caracter en general) con un \ delante.
Un saludo,