c) they split the xp equally, giving 4 xp each. (total 8 xp)?
This is correct, more or less. Each champion will also apply their experience gain modifiers, if any, to the amount that they gain. So a battle worth 8 base experience will give 8*(champion x's experience modifier)/(# of champions present) to champion x, with this calculation performed for each champion on the field. Another way of looking at it is that the champions will each be given 8/(# of champions present), and they will each gain a bonus based on their individual experience modifiers, which do not affect anyone else in the army unless otherwise noted (e.g. the Trainer traits). Thus, for a battle worth 8 experience, you could have a mage gain 5.6 experience (Knowledge + Potential) and a Warrior gain 4 experience, for a total of 9.6 actual experience earned off of the base 8 experience for the battle. Trained units gain half of the base value given to champions, so in this case the trained units would gain only two experience apiece for the battle, unless they were designed with the Potential trait or your champions have army experience abilities (General, Trainer).
A note about the army experience modifiers - these can be viewed as modifying the base experience value of the battle, before division. So if you have a General (+25% army experience gain) leading your army,the game treats it as though everyone in the army - champions and trained units both - hass an additional +0.25 to their experience multiplier. Also, all experience modifiers are additive, not multiplicative, so Champion Potential + General + Knowledge works out to a multiplier of 1.65 (1 + 0.15 + 0.25 + 0.25), or +65% experience, for the champion, and 1.25, or +25%, for the trained troops.
I *believe* troops (meh) get full XP. So Champion X and Sovereign Y get 4 xp each and Axemaster and Archer would get 8 xp each from your example.
This is incorrect. If the champions of the army get 4 experience each, the trained troops only gain 2 experience each, before modifiers come into play.