I'm not exactly sure what you are asking for in question 1.
Question 2: Making the assumption the player only has one unit:
UnitLocation1 size is small enough the unit can walk out of it in one step.
C:
P1 Brings Exactly 0 AnyUnit to UnitLocation1
A:
MoveLocation UnitLocation1 on AnyUnit own by P1 at Anywhere
PlayWAV(whatever);
Edit: PreserveTrigger(); (naturally)
Question one, I assume, is reffering to Portraits.
Personally, I don't know how to make portraits static other than each player's own Interface (options, remove portraits).
UNANSWERED
And Q2, I was just about to answer it just like IsolatedPurity.
To explain further:
If just one unit of that type (only ONE marine for each player, or ONE firebat for each player) - it will work for multiple units.
1. Make a location that centers location over marine constantly.
You probably don't want to use hyper triggers in this map, as the location may follow the marine too closely. It may work (doubtfully), with hyper triggers though.
Or for sure with hypertragers, put a 1 second timer (death count, gas, mineral, custom point score timer) in between each time the location centers over the marine.
2. When player brings 0 marine to location, play sound "footsteps.wav"
NOTE: Using SCMDraft you can make smaller locations than any other Editor will allow, you can make 1x1 pixle (pixle, not square!) locations - the smaller the location, the more likely the marine will walk out of it - ensuring the footstep sound.
Very simplistic. You can have different units make different sounds when they walk. -NOTE: This will only work if the player owns ONE unit of THAT type.
Multiple players CAN have the same unit, as long as the same player doesn't have more than 2 of that unit (centering locations begins to become difficult).
Hope that helped! If you need more help ask around or PM me.
Good Luck!!!
If you mean the portrait, just do show portrait of unit, preserve trigger. Only side effect is it will always be the same portrait for everything, and also nothing.