OK, there are two fields in the crusader unit production file that determine which units occur in the game. These are called 'rebelling troop mixes this unit can belong to' and 'unit choices(AI)'.

Exemples of both values are (for ballista):
CATH_REBELS(2), CATH_LOYALISTS(3), CATH_PEASANTS(1), CATH_BANDITS(1), CATH_ZEALOTS(1), ORTH_REBELS(2), ORTH_LOYALISTS(3), ORTH_PEASANTS(1), ORTH_BANDITS(1), ORTH_ZEALOTS(1), MUS_REBELS(2), MUS_LOYALISTS(3), MUS_PEASANTS(1), MUS_BANDITS(1), MUS_ZEALOTS(1), CATH_HERETICS(2), ORTH_HERETICS(2), MUS_HERETICS(2), JIHAD(2), PAG_REBELS(1), PAG_LOYALISTS(1), PAG_PEASANTS(1), PAG_BANDITS(1), PAG_ZEALOTS(1)

for rebelling troop mixes, and
POVERTY_STRICKEN(84), DESPERATE_DEFENCE(48), CATHOLIC_EXPANSIONIST(38.4), CATHOLIC_NAVAL_EXPANSIONIST(38.4), CATHOLIC_TRADER(48), CATHOLIC_CRUSADER_TRADER(48), CATHOLIC_EXPANSIONIST_CRUSADER(38.4), CATHOLIC_DEFENSIVE_CRUSADER(57.6), POPE(72), CATHOLIC_DEFENSIVE(57.6), CATHOLIC_ISOLATIONIST(72), ORTHODOX_DEFENSIVE(57.6), ORTHODOX_EXPANSIONIST(38.4), ORTHODOX_STAGNANT(48), MUSLIM_PEACEFUL(48), MUSLIM_EXPANSIONIST(38.4), MUSLIM_DEVOUT(38.4), BARBARIAN_RAIDER(19.2), REBELS(48), CLOSE_TO_SUPPORT_LIMIT(8.16)

for unit choices(AI).
Now how does this work? Is it the lower the value, the lower the chance of appearing? Are these values restricted to certain numbers? And what with negative values (they sometimes appear in the rebel troop mixes, not in the unit choices)