Grazie Ratatuia.
L'ho addattato al mio caso con un ciclo foreach:
codice:
 $Selezione_patente=$_POST['patente'];
 global $val_16, $val_17, ...
 foreach ($Selezione_patente as $valore) {
        echo "$valore
\n"; // controllo verifica valore
	if ($valore == 16){
		$val_16 = $valore;
		}
        if ($valore == 17){
		$val_17 = $valore;
		}
            ....
E poi l'ho passato a:
codice:
<select name="patente[]"  id="patente"  size="5" multiple="multiple">
				<option value="-1" >(Selezionare)</option>
				<option value="16"<?=($val_16 == 16 ? ' selected' : '')?> >Non ho la patente</option>
				<option value="17"<?=($val_17 == 17 ? ' selected' : '')?> >A1</option>
				<option value="18"<?=($val_18 == 18 ? ' selected' : '')?> >A</option>
				<option value="19"<?=($val_19 == 19 ? ' selected' : '')?> >B</option>
..........
In questa maniera posso selezionare più valori e tenerli selezionati dopo l'invio del form, ovviamente supportato dal database.