Dovresti cambiare il Javascript, nella funzione getCity, esattamente:

addElement(City,val[0],val[1]);

diventa:

addElement(City,val[1],val[1]);

perchè val[0] è l'id mentre val[1] è il nome.

Ecco il codice modificato:

Codice PHP:
function getCity(){ 
  var 
City document.getElementById('l3'); 
  
removeElement(City); 
  
id document.getElementById('l2').value
  if(
id == 'sel'){ 
    
disabledElement('l3',true); 
    
addElement(City,'sel','Seleziona una Città:'); 
  }else{ 
    if(
http.readyState == 4){ 
      if (
http.status == 200) { 
           var 
response http.responseText
        if(
response == ''){ 
          
disabledElement('l3',true); 
          
addElement(City,'sel','Nessuna voce'); 
        }else{ 
          
removeElement(City); 
          
coppia response.split(','); 
          
max coppia.length
          
addElement(City,'sel','Seleziona una Città:'); 
          for(
x=0;x<max;x++){ 
            
val coppia[x].split('-'); 
            
addElement(City,val[1],val[1]); 
          } 
          
disabledElement('l3',false); 
        } 
         } 
    }else{ 
      
addElement(City,'sel','Loading...'); 
    } 
  } 

Non l'ho provato sempre per motivi di tempo, ma dovrebbe andare... Fammi sapere

Saluti Max