Antes de poner me a ello, a ver is entendí para que sirve cada cosa
 
la comento dentro de tu código   
 Código PHP:
    var xmlHttp;
function showPoll(VARIABLE){
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
        alert ("Tu navegador no soporta AJAX! No podras usar esta aplicación.");
        return;
    } // esto es obvio, el mensaje de alert lo dice todo.
 
    var url="PAGINA_QUE_VAS_A_HACER_CONSULTA.php"; //este va ha ser el php donde hago mi consulta si mi VARIABLE existe
    url=url+"?VARIABLE="+VARIABLE; // VARIABLE es el valor que ingresa el usuario, para mi caso el código postal
 
 
    //Puedes crear una variable en la funcion que diga cual es el id que deseas verificar tu escoges
    document.getElementById("DIV_ID").innerHTML=""; // DIV_ID es una capa que debo tener por ahí vacía que usaré para mostrar el mensaje de cargando y la img ajaxLoading.gif
    xmlHttp.onreadystatechange=function(){
        if (xmlHttp.readyState==1){ //readyState==1 supongo que es el estado en que se encuentra mientras esta haciendo la llamada al php.
        img = document.createElement('img');
        img.src="images/ajaxLoading.gif";
        document.getElementById("DIV_ID").appendChild(img);
        document.getElementById("DIV_ID").appendChild(document.createTextNode(" Cargando por favor espere..."));
        }
        if (xmlHttp.readyState==4){ //readyState==4 es cuando ya tuvo una respuesta, y esa respuesta se guarda en responseText.
            document.getElementById("DIV_ID").innerHTML=xmlHttp.responseText; // muestro el responseText dentro de la capa DIV_ID
        }
    }
    xmlHttp.open("GET",url,true); // para hacer la llamada a mi php
    xmlHttp.send(null); // para que se menatenga en la misma página... de eso se trata el ajax no????, jajajaja
}
 
function GetXmlHttpObject(){ // crea el objeto de Ajax para hacer lo que quiero.
    var xmlHttp=null;
    try{
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }catch(e){
        // Internet Explorer
        try{
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            try{
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){}
        }
    }
    return xmlHttp;
} 
    
  
Si es que he acertado en todo, tengo unas preguntitas: 
* Confirmame si en este ejemplo el DIV_ID es una capa que está por ahí en mi HTML y me muestra el " Cargando por favor espere..." y luego la respuesta del php. 
* Esa respuesta del PHP como debe ser, puede ser un simple "echo 'ok';" o "echo 'ko'; o también puede ser "true" o "false" o un "<img src=ok.gif>"???? 
* si esto es así, en vez de que guarde la respuesta en DIV_ID, puede entregarlo como "return" de la función showPoll()???  
Lo que me gustaría hacer es esto: 
 Código PHP:
    <script>
function valDatos(F) {
 
    txt_alerta = "No existe el código postal introducido.";
    
    if( !showPoll(F.codpostal.value)) { alert(txt_alerta); F.codpostal.focus();  return false;}
    else{ F.submit(); }
 
</script>
 
 
....
 
<form action="inicio.php" method="post" name="datosForm" id="datosForm">
 
Código postal: <input name="codpostal" id="codpostal" type="text" />
 
<input id="btn" name="btn" onclick="return valDatos(document.datosForm);" type="button" value="Enviar" /> 
   
  si se puede hacer así sería de PM, porque así tengo todas las demás validaciones. 
Saludos y gracias 
Carlos