La cosa di cui parli si chiama combo box o in italiano casella combinata.
Si tratta di una casella di testo che permette contestualmente di avere un elenco a tendina e man mano che si inserisce del testo nella casella le opzioni della tendina si riducono fino a riscontrare un valore presente in tendina o ad avere un valore ancora non presente in tendina.
Una cosa simile la fa google mentre si compila ilcampo di ricerca. La select di html è un menù a tendina e non una combo box. Per ottenere l'effetto combo box google stesso fa uso di una casella di testo e javascript. Se disabiliti java script ti saluto combo e rimane il text box.
In questo PHP non ti può aiutare, perchè la disponibilità di un controllo non dipende da PHP ma dalla grammatica a marcator utilizzata (html, xhtml per intenderci). Ma questi linguaggi non mettono a disposizione le caselle combo, quindi l'unica via è utilizzare qualche barbatrucco del tipo flash o javascript.
Un alternativa che non impegi il client potrebbe essere quella di proporre il tuo menu a tendina con prima voce "Nuovo elemento" e sotto una comune casella di testo ad accogliere il nuovo elemento. Se non viene scelto nuovo elemento la casella di testo viene ignorata. Ma un cambio dinamico dell'elenco chiede jscript