I don't know what I'm disagreeing with, but okay.
But npcs are already referenced by UIDs... ? I think I must be misunderstanding you somehow. If you want to give me the short version of what you were trying to do that might help. If you mean to make it so pointers are always valid that's actually easy enough but then you'll have to convince Tamamo that inheritence as an object model over data layout through inheritence makes it implausible. Ha...jk.
No, but seriously I'm not sure.