perfecto, como dices lo primero es que haga algo el problema actual radica en tu funcion
function listaSeleccionada(lista) {
document.form.code.value = lista.options[lista.selectedIndex].value;
document.form.name.value = lista.options[lista.selectedIndex].text;
document.form.unid.value = lista.options[lista.selectedIndex].getAttribute("alt");
document.form.cos_mp_pesos.value = lista.options[lista.selectedIndex].getAttribute("alt1");
document.form.cos_mp_dolar.value = lista.options[lista.selectedIndex].getAttribute("alt2");
}
ahi hace referncia solo a la primer linea, debes adaptarla a que se llene el valor del select que mandas llamar,
Aqui hay de 2 sopas
fuerza bruta y fuerza logica,
bruta: haces un case para cada uno de tus posibles valores (y como no tienes limite de filas pues seria un selec MUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUY grande
y la fuerza logica es buscar la manera de hacer referencia a los input teniendo variabilidad en el numero, algo asi como se hizo para asignarle los valores en la funcion de add_row
Te dejo que le pienses un rato y ya mañana me avisas como te va.
Exito