Sure they can be done. Examine the mission lua, the number and type of player characters are set there. 
  The ReadDataFile sets up which meshes the level will need: 
 ReadDataFile("SIDE\\imp.lvl",
 "imp_inf_basic_tie",
 "imp_fly_tiefighter",
 "imp_inf_darthvader",
 "imp_inf_dark_trooper"); 
 so if you want to add something new, make sure it exists in the game's side lvl file, and add it in to the appropriate ReadDataFile. 
 Next look at Alliance / Imperial Stats, this defines how many of each type of unit will spawn: 
 -- Imperial Stats
 SetTeamName(IMP, "Empire")
 SetTeamIcon(IMP, "imp_icon")
 AddUnitClass(IMP, "imp_inf_gh_trooper",10)
 AddUnitClass(IMP, "imp_inf_shock_trooper",1)
 AddUnitClass(IMP, "imp_inf_pilottie",2)
 AddUnitClass(IMP, "imp_inf_scout_trooper",2)
 AddUnitClass(IMP, "imp_inf_dark_trooper",1)
 SetHeroClass(IMP, "imp_inf_darthvader") 
 Then, check the Attacker / Defender Stats has the same total number of units as called in the above section: 
 -- Defender Stats
 SetUnitCount(DEF, 16)   
 If you want to change their weapons, you'll either have to hex edit the game lvl files or do this (
http://www.secretsociety.com/forum/display_message.asp?mid=76)