Name lists always turn out to be one of the most useful things I can do for a campaign in play. For every language group in my campaign world I have a list of names, at least a full page in 12 point font, of male and female names. I use common names in different real word languages; I prefer lists that have a quick description of name meaning when I compile these "DM's Cheat Sheats". A little bit of time spent Googling and Copy Pasting into notepad and printing out a few pages of names for all the language groups in the campaign is incredibly useful at the table.
No matter what the situation, when your players run into an NPC, you can pull a name out that not only is consistent with the background of the NPC but also suggests a personality trait. I just circle the name on the sheet and draw a line to the margins and note what the encounter is. Once a campaign has been going for a while, just referring to the sheets for each different language group is a succinct reminder of every randomly encountered NPC in play.
This trick is one of those DM's sleight-of-hands that makes it seem like you are never unprepared. Of course you had some planned out material if you could rattle off the names of the seven sleeping liches and what their demi-Godhood was focused on...