Siempre se puede hacer algún truco. No sé qué es exactamente lo que quieres hacer con lo editado, pero hice un sencillo ejemplo que hace lo que (creo que) quieres hacer.
Código:
<script type="text/javascript">
<!--
function cambiaTexto(c,o){
c.options[c.selectedIndex].text = o.value
o.style.display = 'none'
c.style.display = 'inline'
}
function cambiaCampo(c,o,v){
if(o.selectedIndex>0){
o.style.display = 'none'
c.style.display = 'inline'
c.value = v
c.focus()
}
}
//-->
</script>
</head>
<body>
<form>
<span id="selector">
<input type="text" name="cTexto" style="display: none" onblur="cambiaTexto(this.form.cSelect,this)" />
<select name="cSelect" onchange="cambiaCampo(this.form.cTexto,this,this.options[this.selectedIndex].text)">
<option>Selecciones una opción</option>
<option>Carlos</option>
<option>Fernando</option>
<option>Bernardo</option>
<option>Pepe</option>
</select>
</span>
</form>
pruébalo y dime si es algo así lo que querías
Un saludo