I was messing around today, and I found a way to approximate real short sleeves (no thermal sleeves) with the thermal sleeve shirt included. A problem was that true short sleeves need to be different for each race (so no black cops with white arms). Basically, the different races are determined by the head texture. This got me playing with textures.
First, each texture goes on a model. If you play around with OpenIV, you notice that there are multiple components (I'm calling them models) in a .wdd. Models can have multiple textures. For example, the Latino head is one model, with 3 textures. However, there are 5 images in the wtd associated with that model. Let's look at them.
A typical image is named head_diff_001_a_lat or something similar. There are 5 parts to the name. The first three identify the purpose: "head" means that it is for a head (like "uppr" means shirt and "lowr" means pants). "diff" means that it shows the colors of the model. A model can have multiple diffs, and it is what most uniform mods change. I'll be calling diffs "textures" (they are most similar to what you think of as textures). Instead of "diff", there can also be "normal" (the bumpmap) and "spec" (no idea). Most uniform mods only change diffs. The "000" shows which head model it is for.
The last 2 parts only appear on textures, and are the most important for modding (the rest basically just says what the texture is for). The "a" identifies which texture it is. A model can have multiple texture. This is important. On the fat cop, the short sleeved shirt is one model, 2 textures (for example). Lastly, the "uni" seems to mean "all races" or "uniform".
So, how to do a short sleeved shirt? (I'm assuming EFLC, but the same method should work for IV). The main difficulty is the race. Model is not that big a deal, and is only really visible looking along the arm. What you need to do is add new textures into the wtd. I used OpenIV. First, export uppr_diff_000_a_uni (the short sleeves texture) and at least 1 diff for each head model and open it. Then, select the black area on the sleeves (that's the thermal sleeve part). Now, pick one of the head diffs. Use a color picker tool and pick a color from the head texture (preferably a color from a hand near the wrist). On the short sleeve texture, fill the thermal sleeve with the color you just picked. Now, save as uppr_diff_000_a_chi/lat/whi/bla (depending on what head you chose). Import it into the wtd with OpenIV. Do the same for the next race, etc., but use _000_b_ and _000_c_ instead of _000_a_. Import both of those too. Finally, either delete "uppr_diff_000_a_uni" or rename it to "uppr_diff_000_d_uni". The second option will let any race wear thermal sleeves as well.
This also brings up another concept: you can add as many textures as you like. For example, if you want an NYPD style captain wearing long sleeves, take a white long sleeve shirt texture, replace rank and badge, and import it as uppr_diff_001_b_uni. It will automatically show up about half the time: no model editing needed!
BTW, if this is as clear as mud, reply with what you don't get and I'll try to explain better.