Respawn I can't technically help with (although I guess it's just a matter of checking the weapons before/adding them afterwards ; can't promise anything with the ammo count though).
Satchel charges = "pipebomb" ;
Adding to units, write this in a trigger, waypoint, init field or script : <unitname> addmagazine "pipebomb" (repeat as necessary, remember a satchel charge takes 2 inventory slots which you in most cases need to clear up first, for instance by <unitname> removemagazine "handgrenade")
Adding to ammo crates : <ammocratename> addmagazinecargo ["pipebomb", X] (X being the number of satchel charges)
Also, you can exchange <unitname/ammocratename> with this if you're writing the commands in the units' init field.
Might need to move this to mp editing though, what with the respawn.
Good luck!
/Wolfrug out.