If you're building your own faction there is a way to do unique heros. It'll take a new resource too, so it'll be a complete tech tree really. A modified magitech is possible this way though. I used this trick to make eaglestone have 14 possible upgrades (planned, anyway) but the player could only pick 2 - meaning that each player could have slightly different strengths and weaknesses, despite having the "same" units.
Create a resource, call it "Destiny Points" or something. Edit the castle or main building to give the player exactly 1 unit of it (or however many you need him to have), I think that the XML has to actually say that the cost is negative ( -1, for instance). The downside to this is if the player manages to build a second castle, they'll get another Destiny Point and be able to make another hero. Considering the cost and time of a castle (more if you edit it too), it might be a neat trade-off.
ANYWAY, from this point all you need to do is require the player to have 1 Destiny Point to produce a hero unit. You could even have several hero units available like St. George the DragonSlayer, Robin Hood of Sherwood Forest, and Gandalf the White (knight, archer, and mage heros!). Since the player can only create as many as they have Destiny Points for (i.e. one) they are limited right away and the hero's will stay (mostly) unique.
Also, if you make the castle unable to be constructed they'll never have any more Destiny Points (or castles...).