I have mentioned/commented this idea in multiple forum threads before, but has not yet gained traction...
The best way to handle this, rather than using "Alliance Change Tokens" would be for ZOS to remove the "Alliance" aspect all together from Character creation and all PVE content. While this was a key selling point/unique feature of ESO, it makes zero sense as Alliance is purely tied to PVP content (IC & Cyrodiil).
The way this would work is actually a very simple breakdown:
1. Race determines your starting zone/Alliance questline. Period.
*With the option to complete Cadwell's Silver/Gold in other Alliance zones defeats a purpose to force new/veteran players to choose blindly which Alliance to be a part of.
2. To represent an Alliance in the "Alliance War" (PVP - Cyrodiil), an Alliance would be chosen when first joining a Campaign and would remain LOCKED - account wide - for the duration of this Campaign. At end of Campaign the Alliance "lock" would release.
*Multiple alliances can be chosen through separate Campaigns - I.E. Vivic chosen Alliance EP, Shor chosen Alliance AD, Sotha Sil chosen Alliance DC, etc.
3. A new "Traitor feature can be implemented to essentially change Alliance mid-campaign (similar to the "Abandon Campaign" feature) where you would pay X Gold/Alliance Points/Crowns to change your Alliance and be permanently locked as a "Traitor" on your Name Tag for the remaining duration of current Campaign.
*Maybe while In-Campaign your character is highlighted with the color of the abandoned Alliance, similar to wearing Imperial Physique set with 10K Tel Var to indicate you have been branded a traitor?
In short, Alliance would be tied specifically to PVP Campaigns only.
Feel free to provide feedback and let's make this happen!