Non credo sia un problema lato server. Puoi gestirlo tranquillamente lato client, con javascript:
codice:
<form method="POST" action="pagina.php">
Prodotto:
<select id="sel" size="1" name="sel" onChange="controllo(sel.value);">
<option value="prodotto1">prodotto1</option>
<option value="prodotto2 ">prodotto2</option>
<option value="PRODOTTI prodotto3 ">PRODOTTI prodotto3</option>
<option value="ALTRO">ALTRO</option>
</select>
</p>
<p id="seriale">Seriale: <input type='text' name='ser' size=20></p>
<input type="submit" value="Invia" name="B1"><input type="reset" value="Reimposta" name="B2"></p>
</form>
<script>
function controllo(str) {
if (str == "ALTRO")
seriale.innerHTML="";
else
seriale.innerHTML="Seriale: <input type='text' name='T1' size=20>";
}
</script>
In pratica, con questo codice accade che quando si sceglie "ALTRO", scompare l'input relativo al seriale, viceversa appare.