Probe tu codigo y me funciona bien, quiero decir que no me duplica los elementos del select.
Por lo que comentas de seleccionar un elemento rescatado de un valor anterior, basta con utilizar la propiedad
selected, en esta parte:
Código PHP:
if(mysql_result($res,$i,"id_menu") == $ciud_codigo)
echo "<option value=$id_residir selected>$nombre</option>";
else
echo "<option value=$id_residir>$nombre</option>";