I'm responsible for all of the HUD icons in the SOA 2 mod. There are several ways you can go about doing it, I just took what had been started a while back and built on top of it. Basically, you have all of your appropriate brush files (HUDicon-ship, HUDicon-module, etc.), so you need to copy those that are necessary for your 4th race and add a "-2" at the end. Then inside the files, chose one of the original races and change the prefix to something that fits the new 4th race. For us, I've used "dom" for the Dominion and "borg" for the borg". This let us ensure a structural replica of the original brush files as far as positioning of each icon is concerned.
Just make sure the correct brush reference is made in your entity files (i.e. the correct prefix is used). Then we created a second set of HUD textures, also with the "-2" attached. I placed icon texture in locations based upon the role/position relationship of the stock stuff. So, the Dominion long-range frigate (Jem'hadar fighter) is located in the exact same place on sheet #2 as the Federation long-range frigate (Excelsior) on sheet #1 because they're both based off the Psi brush files.
Depending on how much work you really want to do, I'd recommend adding space to the current HUD texture files and brush files. In light of the 2 gig memory limit, there's just not reason for the game to load 2 factions' worth of textures and brush references that your mod won't be using. It would be a fairly simple process of copying and pasting one line's worth of current brush files to use the x coordinate. Figure out exactly how much space is devoted to each icon plot on the texture map for the y coordinate (I know it's somewhere around 34, but you need to know how far apart to place everything), and then use that. Then you just follow the template in the texture map and add as many new lines at the bottom as you find necessary, and use a different prefix for your new race.
It will probably take some trial and error (don't get frustrated), but in the end I think the second method will be much better because you're saving so much memory.
I haven't answered your P.S. question directly, but I think I covered it. Let me know if you have any questions.