No sé si lo que he hecho es una 'burrada' porque no sé casi nada de javascript, he probado lo que me comentas de poner todo en una variable (que no sé cómo se usan en javascript) y en un div llamar a la variable con innerHTML (que tampoco sé cómo se usa) por supuesto no me funciona

me parece que tengo que aprender javascript desde el principio....
Código Javascript
:
Ver original<script>
var combo_ciudad ='
function componCiudades($id_pais_com){
document.formulario.id_ciudad.length=0;
document.formulario.id_ciudad.options[0] = new Option("-- Ciudad --","","defaultSelected","");
var indice=1;
<?php
while($row_ciudad_list = $result_ciudad_list->fetch_assoc()){
$nombre_ciudad = $row_ciudad_list["nombre"];
$id_ciudad_com = $row_ciudad_list["id_ciudad"];
$id_pais_com_city = $row_ciudad_list["id_pais"];
?>
if($id_pais_com=='<?=$id_pais_com_city?>'){
document.formulario.id_ciudad.options[indice] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","","");
if(<?=$id_ciudad_com?>=='<?=$id_ciudad?>'){document.formulario.id_ciudad.options[0] = new Option("<?=$nombre_ciudad?>","<?=$id_ciudad_com?>","defaultSelected","");} // Si tiene ciudad, la selecciono
indice++;
}
<?php } ?>
}
'
document.getElementById(combo_ciudad).innerHTML='combo_ciudad';
</script>
<?php
echo "<div id='combo_ciudad'>";
echo "<select name='id_ciudad' style='width:186px;' id='id_ciudad'>\n";
echo "<option value=''>--Ciudad--</option>\n";
// Si existe el país, saco el listado de sus ciudades
if ($id_pais!="") echo "<script>componCiudades('".$id_pais."');</script>";
echo "</select>\n\n";
echo "</div>";
?>