Is there any other simpler way besides creating a unique resource cost for training a unit, to limit having a unit being trained only once per game?
You could try 'training' the unit by means of a quest (as with Bacco the Beggar or Ascian), or having something grant you a one-per-faction or one-per-world structure that spawns the unit the way that the Binding Altars spawn demons or the monster recruitment resources spawn monsters. I don't know that having a spawning structure would allow you to prevent it from ever being trained again if it dies, though you could put an enormously long spawn timer on it, but if you train it by quest I think you can make that quest not occur on the map again. You could also have the unit 'trained' by means of a consumable item such as the Token of the Sand Golem and then make certain that there is only one way to get one of those (e.g. purchase it at sovereign creation, or as a reward for a quest with the same lack of repeatability that the Arena of the Slakhanan has, though if it's a quest reward you might as well have just awarded the unit at the end of the quest).
If you want to require the player to occupy time in a city's build queue in order to gain the unit and do not want the unit to spawn from a structure the way Shard Demons do with Binding factions, I'd suggest creating a structure that you grant at some point in a quest that must be built in order to complete the quest, and have completion of the quest spawn the unit, if possible at the location where the structure was built. This way, you can attach all the resource costs and production requirements you wanted on your unit to the special structure. Since the unit in this case is a quest reward rather than a unit spawned from a recruitment structure, you don't need to worry about unit resurrections as with Shard Demons, and since it's not a unit you can produce from a city you don't need to worry about having a special resource in place to prevent training additional such units. Make the quest non-repeatable and you won't need to worry about having multiples of the unit.