Re: #1:
http://ciahome.net/forum/mission-making/...inventory/
Re: #2 and 3:
Instead of naming units, count units in a group.
In init field of any soldiers belonging to a group:
"mygroup=group this;"
In trigger activation:
"({alive _x} count units mygroup == 0)" or "({alive _x} count units mygroup < 3)"
https://community.bistudio.com/wiki/group
https://community.bistudio.com/wiki/units
https://community.bistudio.com/wiki/count
That's how I did my wave defense mission, counting the group's units.
http://steamcommunity.com/sharedfiles/fi...=332158891
Re: #4
One thing I have tried but haven't used in a released mission was using https://community.bistudio.com/wiki/knowsAbout instead of 'detected by' triggers.
I think the condition was sth like:
"isServer AND ({EAST knowsAbout _x > 3} count units mygroup == count units mygroup)"
where isServer check is to ensure the command working (see the BIKI page Multiplayer note), EAST is the side of the enemy and 'knowsAbout _x > 3' means that EAST are fully aware of whoever _x is and 'count units mygroup == count units mygroup' means that condition is true when EAST knowsAbout _x > 3 turns true the same amount of times as there are members in mygroup (meaning everyone in the group has been fully detected).
I'd recommend you take a look at Mr. Murray's editing guide for ArmA1, I think basic coding/concepts still apply (it helped me for A2)
http://www.armaholic.com/page.php?id=4847