I don't know if this sort of thing is possible in a PC game, but it seems that expanding the interaction with NPCs would greatly improve the atmosphere of the game.
Right now, the choices are: 1) hire, 2) fight [if a "creature,"] or 3) ignore. It would be nice if NPCs could provide information, as they do in RPGs. "I spotted some fertile land to the northwest," or "I recently encountered a new kingdom, called Capitar, to the east of your territories." Any little bits of info coming from the NPCs would give them more of an illusion of being actual characters in a real world.
Also, instead of the current division into hireable NPCs and unhireable creatures, they could be broken down into various groupings--each with a different attitude toward the various factions. For example, one group might be friendly toward Tarth, neutral toward the other kingdoms, unfriendly toward the empires. Rather than any of them being automatic enemies, all might be hireable, but at higher costs for those to whom they are not friendly. And, the info which the player receives from them may be less accurate if they belong to a group which is unfriendly to the player's faction.
These group attitudes could even be dynamic, depending on in-game actions. A group which is normally unfriendly to a particular kingdom might move up to neutral if the player of that kingdom has good diplomatic relations with an empire.
I'm sure that, if you folks considered this, you could come up with many way to expand the NPCs function in the game. As I said, I don't know how possible it is to program such things into a computer game, but pen-and-paper RPGs and even board games like "Magic Realm" have had such features for years.