Bueno, a ver si no te lío demasiado ...
 
Para leer el documento xml necesitamos un 
parser xml. Lo primero que debemos hacer es crear una instancia del parser que tenga implementado el navegador y cargar el documento xml en esta instancia. 
El xml podemos tenerlo en un archivo xml externo o podemos tenerlo guardado en una variable de tipo string. Para el ejemplo que te pongo usaré un xml de nombre 
zyon.xml 
Para crear la instancia del parser xml hay que contemplar por un lado al IE y por el otro al resto de navegadores (como para todo, vamos).  
Una función que se encargue de averiguar qué soporta el navegador y cómo debe cargar el parser sería algo como esto  
Código:
 var xmlDatos //variable en donde guardaremos la instancia del parser xml
function cargaDatos(){
	if (window.ActiveXObject){//Si es IE pasará por aquí 
	  xmlDatos = new ActiveXObject("Microsoft.XMLDOM");
	  xmlDatos.async=false;
	  xmlDatos.load("zyon.xml");//carga el documento xml en el parser
	  creaSelector() //llamada a la función que hará algo con los datos del xml
	 }
//el resto de navegadores crearán la instancia del parser con las sentencias del else
	else if (document.implementation && document.implementation.createDocument){
	  xmlDatos= document.implementation.createDocument("","",null);
	  xmlDatos.load("zyon.xml");//carga el documento xml en el parser
	  xmlDatos.onload=creaSelector //llamada a la función que hará algo con los datos del xml
	 }
}
  Llamamos a la función al cargar el documento 
<body onload="cargaDatos()"> 
Ahora tenemos el parser con el xml cargado y podemos trabajar con esos datos. Querías hacer un combo. 
Lo primero es crear el tag 
select para el combo 
Código:
 var selector = document.createElement('select')
  Lo siguiente será crear tantas opciones como nodos hijos tiene el elemento raíz del documento xml.  
Código:
 xmlDatos.documentElement.childNodes
  Podemos crear un bucle que itere por cada nodo hijo del elemento raíz (documentElement) 
Sin embargo cada salto de línea en el documento xml es considerado como un nodo de tipo texto (salvo en IE) 
En el documento xml tenemos lo siguiente  
Código:
 <?xml version="1.0" encoding="iso-8859-1"?>
<datos>[salto de línea]
<campo1>001</campo1>[salto de línea]
<campo2>002</campo2>[salto de línea]
<campo3>003</campo3>[salto de línea]
<campo4>004</campo4>[salto de línea]
<campo5>005</campo5>[salto de línea]
</datos>
  Eso son 5 nodos de elementos (tipo 
element) más 6 saltos de línea (tipo 
text ) que dan un total de 11 nodos (para explorer sólo los 5 de elementos) 
Así que en cada iteración deberemos discriminar según el tipo de nodo que sea para quedarnos sólo con los nodos de tipo 
element 
verificamos el tipo con el atributo 
nodeType. Devuelve 1 para los de tipo 
element y 3 para los de tipo 
text  if(xmlDatos.documentElement.childNodes[m].nodeType == 1) 
En caso afirmativo creamos una opción para el selector  
opcion = document.createElement('option') 
El elemento que queremos lo tenemos en 
xmlDatos.documentElement.childNodes[m] y el valor de ese nodo se encuentra en su primer nodo hijo que es de tipo 
text y que es su 
nodeValue. 
Se lo asignamos como texto a la opción que hemos creado 
Código:
 
opcion.text = xmlDatos.documentElement.childNodes[m].firstChild.nodeValue
 
  aunque también podríamos haberlo agregado como nodo hijo de tipo 
text a la opción 
Código:
 opcion.appendChild(document.createTextNode(xmlDatos.documentElement.childNodes[m].firstChild.nodeValue))
  Una vez creada la opción se la colocamos al select, que es su nodo padre  
selector.appendChild(opcion) 
y una vez terminada la iteración agregamos el select a donde corresponda.   
document.body.appendChild(selector) 
aunque sería más apropiado meterlo dentro de un form, claro. 
La función quedaría así  
Código:
 function creaSelector(){
	var selector = document.createElement('select')
	for(var m in xmlDatos.documentElement.childNodes){
		if(xmlDatos.documentElement.childNodes[m].nodeType == 1){
			opcion = document.createElement('option')
			opcion.text = xmlDatos.documentElement.childNodes[m].firstChild.nodeValue
			selector.appendChild(opcion)
		}
	}
	document.body.appendChild(selector)
}
  No sé si te haya liado aún más 
 
Un saludo