I'm currently working on the same thing, and as far as I can tell, all you have to do is use a different material in the [BLOOD] tag.
For instance, here's a caste definition I'm using that gives a particular caste gaseous blood that causes bleeding from the skin in all creatures, and more intense full-body bleeding in the caste in question:
[CASTE:MARTYR]
[CASTE_NAME:zakor martyr:zakor martyrs:zakor martyr]
[CASTE_COLOR:4:0:1]
[NOPAIN]
[NOFEAR]
[USE_MATERIAL_TEMPLATE:MARTYR_GAS:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:frozen zakor martyr gas]
[STATE_NAME_ADJ:ALL_SOLID:frozen zakor martyr gas]
[STATE_NAME:LIQUID:condensed zakor martyr gas]
[STATE_NAME_ADJ:LIQUID:condensed zakor martyr gas]
[STATE_NAME:GAS:zakor martyr gas]
[STATE_NAME_ADJ:GAS:zakor martyr gas]
[STATE_COLOR:ALL:FUCHSIA]
[MELTING_POINT:9870]
[BOILING_POINT:9930]
[PREFIX:NONE]
[SYNDROME]
[SYN_NAME:martyr's stigmata]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_INHALED]
[CE_BLEEDING:SEV:2000000:PROB:100:BP:BY_CATEGORY:ALL:SKIN:RESISTABLE:START:0:PEAK:20:END:40]
[CE_PAIN:SEV:100:PROB:100:BP:BY_CATEGORY:ALL:MUSCLE:RESISTABLE:SIZE_DILUTES:START:0:PEAK:10:END:20]
[SYNDROME]
[SYN_NAME:martyr's suicide]
[SYN_AFFECTED_CREATURE:ZAKOR:MARTYR]
[SYN_INHALED]
[CE_BLEEDING:SEV:1000000000:PROB:100:BP:BY_CATEGORY:ALL:ALL:RESISTABLE:START:0:PEAK:50:END:100]
[TISSUE:MARTYR_GAS]
[TISSUE_NAME:gas:NP]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:MARTYR_GAS]
[TISSUE_MAT_STATE:GAS]
[RELATIVE_THICKNESS:50]
[TISSUE_LEAKS]
[TISSUE_SHAPE:LAYER]
[BLOOD:LOCAL_CREATURE_MAT:MARTYR_GAS:GAS]
I copied that pretty directly from iron man gas, so I'm sure it could be designed better if done from scratch.
Here's the full creature definition, in case you want to test it out yourself (note that it's a work in progress):
[CREATURE:ZAKOR]
[DESCRIPTION:A large canine found in temperate regions. It is territorial and hunts in packs.]
[NAME:zakor:zakors:zakor]
[CASTE_NAME:zakor:zakors:zakor]
[CHILD:1][GENERAL_CHILD_NAME:zakorling:zakorlings]
[CREATURE_TILE:'z'][COLOR:3:0:1]
[LARGE_PREDATOR][MEANDERER]
[LARGE_ROAMING][FREQUENCY:5]
[BIOME:TUNDRA]
[BIOME:FOREST_TAIGA]
[BIOME:ANY_TEMPERATE_FOREST]
[BIOME:SHRUBLAND_TEMPERATE]
[POPULATION_NUMBER:30:100]
[CLUSTER_NUMBER:10:30]
[GRASSTRAMPLE:0]
[PETVALUE:50]
[PET_EXOTIC]
[BONECARN]
[PREFSTRING:cunning]
[FLEEQUICK]
[BODY:QUADRUPED:TAIL:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:THROAT:NECK:SPINE:BRAIN:SKULL:4TOES_FQ_REG:4TOES_RQ_REG:MOUTH:TONGUE:GENERIC_TEETH_WITH_LARGE_EYE_TEETH:RIBCAGE]
[BODYGLOSS:PAW]
[BODY_DETAIL_PLAN:STANDARD_MATERIALS]
[BODY_DETAIL_PLAN:STANDARD_TISSUES]
[SELECT_TISSUE:HAIR]
[INSULATION:200]
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]
[BODY_DETAIL_PLAN:BODY_HAIR_TISSUE_LAYERS:HAIR]
[USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE]
[USE_MATERIAL_TEMPLATE:ZAKOR_GAS:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:frozen zakor gas]
[STATE_NAME_ADJ:ALL_SOLID:frozen zakor gas]
[STATE_NAME:LIQUID:condensed zakor gas]
[STATE_NAME_ADJ:LIQUID:condensed zakor gas]
[STATE_NAME:GAS:zakor gas]
[STATE_NAME_ADJ:GAS:zakor gas]
[STATE_COLOR:ALL:YELLOW]
[MELTING_POINT:9870]
[BOILING_POINT:9930]
[PREFIX:NONE]
[SYNDROME]
[SYN_NAME:zakor's itch]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_IMMUNE_CREATURE:ZAKOR:ALL]
[SYN_INHALED]
[CE_BLISTERS:SEV:200:PROB:100:BP:BY_CATEGORY:ALL:SKIN:RESISTABLE:START:5:PEAK:100:END:1000]
[CE_NAUSEA:SEV:200:PROB:100:RESISTABLE:START:0:PEAK:20:END:40]
[SYNDROME]
[SYN_NAME:martyr's suicide]
[SYN_AFFECTED_CREATURE:ZAKOR:MARTYR]
[SYN_INHALED]
[CE_BLEEDING:SEV:1000000000:PROB:100:BP:BY_CATEGORY:ALL:ALL:RESISTABLE:START:0:PEAK:50:END:100]
[TISSUE:ZAKOR_GAS]
[TISSUE_NAME:gas:NP]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:ZAKOR_GAS]
[TISSUE_MAT_STATE:GAS]
[RELATIVE_THICKNESS:50]
[TISSUE_LEAKS]
[TISSUE_SHAPE:LAYER]
[USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE]
[TISSUE_LAYER:BY_CATEGORY:TOE:NAIL:FRONT]
[SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART]
[PLUS_TISSUE_LAYER:SKIN:BY_CATEGORY:THROAT]
[TL_MAJOR_ARTERIES]
[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]
[BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS]
[USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE]
[TENDONS:LOCAL_CREATURE_MAT:SINEW:200]
[LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200]
[HAS_NERVES]
[USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE]
[BLOOD:LOCAL_CREATURE_MAT:ZAKOR_GAS:GAS]
[CREATURE_CLASS:GENERAL_POISON]
[GETS_WOUND_INFECTIONS]
[GETS_INFECTIONS_FROM_ROT]
[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE]
[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID]
[BODY_SIZE:0:0:40000]
[BODY_SIZE:1:0:100000]
[BODY_SIZE:2:0:200000]
[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110]
[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110]
[MAXAGE:10:20]
[ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:NAIL]
[ATTACK_SKILL:GRASP_STRIKE]
[ATTACK_VERB:scratch:scratches]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:100]
[ATTACK_FLAG_EDGE]
[ATTACK_PRIORITY:MAIN]
[DIURNAL]
[HOMEOTHERM:10070]
[SPEED:1200]
[SWIMS_INNATE][SWIM_SPEED:2500]
[MUNDANE]
[CASTE:FEMALE]
[FEMALE]
[EXTRA_BUTCHER_OBJECT:BY_CATEGORY:LIVER]
[EBO_ITEM:BOULDER:NONE:INORGANIC:STEEL] <-- ANY_HARD_STONE is special, but you can use the standard material token list too
[EBO_SHAPE:GIZZARD_STONE] <-- this is a shape for a gem from descriptor_shape_standard.txt
[CASTE:MALE]
[MALE]
[EXTRA_BUTCHER_OBJECT:BY_CATEGORY:HEAD]
[EBO_ITEM:BOULDER:NONE:INORGANIC:STEEL] <-- ANY_HARD_STONE is special, but you can use the standard material token list too
[EBO_SHAPE:GIZZARD_STONE] <-- this is a shape for a gem from descriptor_shape_standard.txt
a special class with a suicidal syndrome in its blood
[CASTE:MARTYR]
[CASTE_NAME:zakor martyr:zakor martyrs:zakor martyr]
[CASTE_COLOR:4:0:1]
[NOPAIN]
[NOFEAR]
[USE_MATERIAL_TEMPLATE:MARTYR_GAS:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:frozen zakor martyr gas]
[STATE_NAME_ADJ:ALL_SOLID:frozen zakor martyr gas]
[STATE_NAME:LIQUID:condensed zakor martyr gas]
[STATE_NAME_ADJ:LIQUID:condensed zakor martyr gas]
[STATE_NAME:GAS:zakor martyr gas]
[STATE_NAME_ADJ:GAS:zakor martyr gas]
[STATE_COLOR:ALL:FUCHSIA]
[MELTING_POINT:9870]
[BOILING_POINT:9930]
[PREFIX:NONE]
[SYNDROME]
[SYN_NAME:martyr's stigmata]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_INHALED]
[CE_BLEEDING:SEV:2000000:PROB:100:BP:BY_CATEGORY:ALL:SKIN:RESISTABLE:START:0:PEAK:20:END:40]
[CE_PAIN:SEV:100:PROB:100:BP:BY_CATEGORY:ALL:MUSCLE:RESISTABLE:SIZE_DILUTES:START:0:PEAK:10:END:20]
[SYNDROME]
[SYN_NAME:martyr's suicide]
[SYN_AFFECTED_CREATURE:ZAKOR:MARTYR]
[SYN_INHALED]
[CE_BLEEDING:SEV:1000000000:PROB:100:BP:BY_CATEGORY:ALL:ALL:RESISTABLE:START:0:PEAK:50:END:100]
[TISSUE:MARTYR_GAS]
[TISSUE_NAME:gas:NP]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:MARTYR_GAS]
[TISSUE_MAT_STATE:GAS]
[RELATIVE_THICKNESS:50]
[TISSUE_LEAKS]
[TISSUE_SHAPE:LAYER]
[BLOOD:LOCAL_CREATURE_MAT:MARTYR_GAS:GAS]
[SELECT_CASTE:ALL]
[SET_TL_GROUP:BY_CATEGORY:ALL:HAIR]
[TL_COLOR_MODIFIER:GRAY:1]
[TLCM_NOUN:hair:SINGULAR]
[SET_TL_GROUP:BY_CATEGORY:ALL:SKIN]
[TL_COLOR_MODIFIER:BROWN:1:BURNT_UMBER:1:CINNAMON:1:COPPER:1:DARK_BROWN:1:DARK_PEACH:1:DARK_TAN:1:ECRU:1:PALE_BROWN:1:PALE_CHESTNUT:1:PALE_PINK:1:PEACH:1:PINK:1:RAW_UMBER:1:SEPIA:1:TAN:1:TAUPE_PALE:1:TAUPE_SANDY:1]
[TLCM_NOUN:skin:SINGULAR]
[SET_TL_GROUP:BY_CATEGORY:EYE:EYE]
[TL_COLOR_MODIFIER:IRIS_EYE_ORANGE:1]
[TLCM_NOUN:eyes:PLURAL]
[SELECT_MATERIAL:ALL]
[MULTIPLY_VALUE:2]
As an aside, caste-specific blood is actually doable
. I've got two castes using gaseous blood that causes nausea and blisters, and a third caste with gaseous blood that causes bleeding.