For your first question. You can do it a number of ways.
I'm not sure if making the NPC's global will keep their values or not, but if it does you could just go:
start of level: set NPC position to VariableX and VariableY.
Or you could store the info in global values, or save them in an external file or what ever. Then just set the positions at the start.