nwnx funcs for win32 does have a PossessCreature command.
It does allow the possession, you need to handle the unpossession via the unpossesscreature command too.
You need to control somethings while possessed, as some player actions, can crash the server, if done while possessing an npc.
Also - Player Characters can be overwrote with the npc they are possessing, if the server exports while possessed.