So there's an Action for Limiting the training of units, but it doesn't work for sold units.
A possible solution: Create localized Mercenary buildings for each player while hiding them from others. This way each player will have their own version of the Mercenary building stacked on top of one another, giving the illusion that they're all the same building. This Mercenary building won't actually Sell Units, and will instead Train them like a Barracks would. What you do is catch when the building begins training a unit (Event: A unit begins training a unit) and immediately cancel the training process. Then create the Trained unit-type for the owner of the Building at it's position. Finally, limit the training of this unit to 0 for EACH player. From there you simply Limit the training back to 1 for each player once the card is drawn again.