temo che Ajax sia l'unica soluzione per questo. Prova con Prototypesjs ( http://www.prototypejs.org/learn ), devi però fare la funzione che genera la select esterna al file della pagina. Ti do un consiglio:

form.php
contiene la form SENZA la select. All'elemento dentro il quale la select dovrà apparire, assegni un id. Assegni un id anche al campo input text che firtrerà la select.
esempio:
Codice PHP:
<form action="..." method="POST">
...
   <
input type="text" name="filtra_inserzionista" id="filtra_inserzionista" /> 
   <
div id="SelectWrapper">
   </
div>
...
</
form
select.php
Il file che generala select con il codice che hai inserito, aggiungici il WHERE nella query che prende il valore passato in $_POST['filtra_inserzionista'] (dopo averlo controllato che non sia vuoto e tolti i valori per le injection)

A questo punto importa nell'head di form.php prototype.js e crea la funzione:
Codice PHP:
function prepareSelect(idWrapperfilter)
{
   new 
Ajax.Updater(idWrapper'select.php', {method 'post'parameters : {filtra_inserzionista filter}});

poi aggiungici:
Codice PHP:
Event.observe(window'load', function(){
   
prepareSelect('SelectWrapper''');
   $(
'filtra_inserzionista').observe('keyup', function(){
      
prepareSelect('SelectWrapper'this.readAttribute('value'));
   })
}) 
Dovrebbe andare.