for a given observation, if migcity1(5) takes value 0 but I know the CITY where the individual was living, is it correct to set migcity1(5)=city if I know for sure that the individual is not a mover (migrate1d(5d) taking values 10)?

Thank you

By assigning the CITY value of non-movers to MIGCITY1(5) you would be changing the meaning of the variable slightly. This new variable would reflect city of residence 1(5) years ago. As long as this is your intention, your proposed method should be appropriate.

I hope this helps.