I actually made a change to be able to do most of this and posted it in a thread in quest creation which was about the subject(somewhat). It was a pretty basic implementation right now, I just added a field to the database in spawn2 and zone, then compare the two to spawn NPCs for that zone.
http://www.eqemulator.net/forums/viewtopic.php?t=16650 That's the thread with the changes in it.
That was a temporary solution until I get instancing going, as I explained there. Eventually the advlevel field will be removed from the zone table and added to the instance table, so that each individual instance can have its own level range associated with it.