Thanks for the replies
Instead of spawning a beacon object you could add instance variables to the npc: "targetX" "targetY" .
On mouse click, if there is no NPC in the space set targetX, targetY to mouse.X,mouse.Y. and trigger the pathfinding.
I thought of that originally, but the issue with that, as 99instances2Go points out, is that it's not checking if there's another unit moving towards that space.
Sounds like a valid solution to me. But. You gonna have all sort of little problems due the spawning. Mainly because you can not use a newly created object to evaluate things before the next top level event. You also need a system that pairs NPC to its target. That is easily done with instance variables, yet will force you in a lot of picking. And in the end you win nothing to little compared to the already proposed solution.
I considered setting an alarm when clicking a unit to move it, so that it waits like .1 of a second before checking the area and moving off, as I thought timing might be an issue. I'm going purely theoretical though so I haven't tested anything but thought there might be some timing issues involved. It seems like a really clunky idea though and I'm convinced it's a silly way of doing it.
I may have missed something though, but what's 'the already proposed solution' that you mention? Or are you referring to mekonbekon's post?
Cheers