You need two third party programs other than Windower to make this easiest. APRadar v2 (Iseedeadpeople to unlock) and POLUtils (from Pebbles). The basic idea is, you look at the .dats using the POLUtils NPC renamer, then you change the name of probable PHs. You track what you're killing and what's popping, and you check what's dead as a backup using Radar.
For instance, I want to track down Sea Hog (a Pugil in SSG) and I see a bunch of Razorjaw Pugils around his name in the .dats. I rename them "Razorjaw Pugil1" "Razorjaw Pugil2" etc. by opening the POLUtils NPC Renamer, going to Sea Serpent's Grotto, and clicking on/editing their names. Then I go to "Show Changes" and "Write Pending Changes" to complete the transaction. If I'm already in the zone I editted, I have to log out and back in to reset my zone data. After that, both the game and APradar will use the updated names.
From there, I generally look to see the status of NPCs in the area (0% HP on APRadar is a big flag) and check out the potential PHs I named. Note the ones that are dead, kill them all. Watch them respawn. Note the ones that are dead now (and if it changed) and kill them all again until you've gotten every mob to spawn at least once. When the NM spawns, look for the 0% HP mobs, In general, those are your PHs. There are exceptions, which I can explain later.