Perhaps this example is too simple for your purpose. In any case I tell you my experience in this area.
My objective was to give auxillia troops to all the factions. The auxillia have grey uniforms (similar to rebels) and I didn't like the effect of riding horses with the color of the faction. Thus I gave them a new generic auxilliary horse.

New entry in descr_mount:
Code:
type				aux horse
class				horse
model				horse_aux
radius				1.5
x_radius			0.5
height				2.5
mass				4
banner_height		0
water_trail_effect	horse_water_trail
root_node_height	1.6
rider_offset		0.0, 0.15, 0.0
It is simply a copy of the light horse entry. I had problems when putting it in the "correct place" (at the end of the horses section), and finally this entry is at the very end of the file.

New entry in descr_model_battle:
Code:
type				horse_aux
skeleton			fs_horse
scale				0.875
indiv_range			40
texture				romans_julii, data/models_unit/textures/horse_medium_slave.tga
texture				armenia, data/models_unit/textures/horse_medium_slave.tga
texture				britons, data/models_unit/textures/horse_medium_slave.tga
texture				romans_brutii, data/models_unit/textures/horse_medium_slave.tga
texture				carthage, data/models_unit/textures/horse_medium_slave.tga
texture				dacia, data/models_unit/textures/horse_medium_slave.tga
texture				egypt, data/models_unit/textures/horse_medium_slave.tga
texture				gauls, data/models_unit/textures/horse_medium_slave.tga
texture				germans, data/models_unit/textures/horse_medium_slave.tga
texture				greek_cities, data/models_unit/textures/horse_medium_slave.tga
texture				macedon, data/models_unit/textures/horse_medium_slave.tga
texture				mercenary, data/models_unit/textures/horse_medium_mercenary.tga
texture				numidia, data/models_unit/textures/horse_medium_slave.tga
texture				parthia, data/models_unit/textures/horse_medium_slave.tga
texture				pontus, data/models_unit/textures/horse_medium_slave.tga
texture				romans_scipii, data/models_unit/textures/horse_medium_slave.tga
texture				scythia, data/models_unit/textures/horse_medium_slave.tga
texture				seleucid, data/models_unit/textures/horse_medium_slave.tga
texture				romans_senate, data/models_unit/textures/horse_medium_slave.tga
texture				slave, data/models_unit/textures/horse_medium_rebel.tga
texture				spain, data/models_unit/textures/horse_medium_slave.tga
texture				thrace, data/models_unit/textures/horse_medium_slave.tga
model_flexi			data/models_unit/mount_horse_light_400.CAS, 15
model_flexi			data/models_unit/mount_horse_light_300.CAS, 30
model_flexi			data/models_unit/mount_horse_light_200.CAS, 60
model_flexi			data/models_unit/mount_horse_light_100.CAS, 80
model_flexi			data/models_unit/mount_horse_light_70.CAS, max
model_sprite		100.0, data/sprites/horse_medium_sprite.spr
model_sprite		slave, 100.0, data/sprites/slave_horse_medium_sprite.spr
model_tri			700, 0.3f, 0.3f, 0.3f
That means that all the factions have the same texture.

One example of auxilliary cavalry in export_descr_unit:
Code:
type             cab auxiliar ibera
dictionary       cab_auxiliar_ibera      ; Caballeria Auxiliar Ibera
category         cavalry
class            light
voice_type       Medium_1
soldier          cab_auxiliar_ibera, 27, 0, 1
mount            aux horse
mount_effect     elephant -8, camel -4
attributes       sea_faring, hide_forest
formation        1.5, 4, 3, 6, 4, square, wedge
stat_health      1, 0
stat_pri         5, 2, no, 0, 0, melee, simple, piercing, sword, 25 ,1
stat_pri_attr    no
stat_sec         0, 0, no, 0, 0, no, no, no, none, 25 ,1
stat_sec_attr    no
stat_pri_armour  2, 4, 2, flesh
stat_sec_armour  0, 0, flesh
stat_heat        -1
stat_ground      0, 1, -6, -1
stat_mental      4, normal, untrained
stat_charge_dist 40
stat_fire_delay  0
stat_food        60, 300
stat_cost        1, 230, 110, 30, 50, 230
ownership        greek_cities, romans julii, romans senate, seleucid, gauls, dacia, carthage, numidia, germans, britons, spain
I hope this helps you.