Thanks so much for this information! I would love to create a custom NPC (or several). Can the created NPC have essence, out of curiosity?
No problem. Yes, they can have essence.
How is the cost of recruiting determined?
I believe it is determined by the talent, their level, equipment, and, possibly, based on their stats and skills (more = more expensive).
Can the class name be custom?
I honestly don't know what <class> does. I think you can make it whatever you want. If you want a unique history or profession then you'd need to make that from another file SovereignTalents.XML. If you want the character to display a unique title then you'd need to modify the <DisplayName> to something unique and change the <UnitDisplayName> to the character's name. It makes the card a little more unique looking and still retains the character's correct name.
Here are some more fun codes to play with:
<DisplayName>Thief</DisplayName>
<Description>A thief of thieves, this character likes to rob the robbers and return to the wealthy so he can make legitimate money stealing.</Description>
<UnitDisplayName>Josh</UnitDisplayName>
<SoundPack>Soundpack_OldWizard1</SoundPack>
Lastly, you can remove the medallion code and the game will automatically generate the character a new one. If you update the character's look then I'd suggest doing this. Also, you can link the character's medallion to any image you want and it'll display ingame (ie. Boulders Gate portraits).
Personally, I enjoy making heroes and find all this fascinating.