All heroes have different Uniclasses and each nation gets one unit representing that unitclass. All the heroes have a special Combat type which is tied to only heroes. Like Unitcombat_Mounted or Unitcombat_melee. This would make it easy to create the promotions and functions you're talking about. Good ideas here.