Not sure if you can make monsters unkillable, but you can disguise an NPC as a monster by using the mob's ID as the NPC's sprite ID. Then, you can use the script command npcwalkto to make the NPC walk.
Here's a working sample:
jupe_ele,42,47,4 script Poring#1 1002,{
OnInit:
initnpctimer;
OnTimer5000:
getmapxy( .map$, .x, .y, 1, strnpcinfo(0) );
set .x, .x+ rand(1,7) - rand(1,13);
set .y, .y+ rand(1,7) - rand(1,13);
npcwalkto .x, .y;
initnpctimer;
}
You can then just duplicate it as many as you like. You should also take note that the NPC may not always be able to move every 5 seconds since the random coordinates may be unwalkabe.
(To be honest, I don't know if this is the best idea.)