mille grazie per la risposta,
hai ragione, infatti doveva essere il passo sucessivo poter cambiare idea (per me la programmazzione è come il cinese)

mi sono accorto di un errore fra i vari anche di copia e incolla
codice:
var = document.modulo.sotto_cat.options.length;
è invece
codice:
var aa = document.modulo.sotto_cat.options.length;
ho provato come dici tu ma non mi funzia:
ad esempio: se io seleziono la categoria: 6
l'altro select dovrebbe darmi solo le sottocategorie 9 e 10...
ho provato varie strade ma senza risultato.
fondalmentalmente la soluzione sarebbe modificare la 2° query php/mysql (secondo select) a seconda della scelta del primo select che proviene dalla 1° query php/mysql, il problema è che php lavora prima di js e mi restituisce una query vuota.

vorrei solo nascondere le opzioni non desiderate nella 2° select avendo comunque la possibilità di cambiare ìdea e scegliere un'altra opzione dlla prima e cosi di seguito, tieni presente che non conosco a priori quante opzioni ho nelle due select.