Check out the "GP Helicopter Script" that is pending in the editor depot. That will handle all the helo aspects.
RE: The rest.
Place a helicopter anywhere you want, name it "vMedivac".
Place a hidden LZ (H unit) anywhere on the map, name it "lzMedivac".
Place another LZ (H unit) whereever the casualties should be flown to. Name it "lzBase".
Have a radio command, titled "Evac Casualties." Either once or repeated depending on how you want it.
In the activation field, place:
hint "Select units to be evac'ed, then click map to confirm.";onMapSingleClick{[[_units] exec "HeloMedivac.sqs";true}
Make a script, titled "HeloMedivac.sqs"
;HeloMedivac.sqs
_arrHurt=_this select 0
? count _arrHurt==0:hint "No units selected. Evac aborted.";exit
[(_arrHurt select 0}] join grpNull
? count _arrHurt>1:{[_x] join (_arrHurt select 0)} foreach _arrHurt
hint "Calling in medivac now."
lzMedivac setpos getpos (_arrHurt select 0)
[(_arrHurt select 0),vMedivac,lzMedivac,lzBase] exec "kmkHeloScript.sqs"
exit
In game, the player could select the radio command, then use the Fn keys to select who he wants to evac, then click on the map to confirm. The guys he selected would be removed from the player's squad and form a new group. The helo will then land at lzMedivac, the members of _arrHurt will be automatically loaded, the helo will fly to lzBase, and the members will be automatically unloaded, and the helo will land and shutdown.
Note, this will only work for alive units. You would typically never call in a medivac, in an *unsecure* zone, for dead bodies. Either hump them out or mark their pos for later retrieval. RE: Scripting it, there is a script in the Editor Depot that retrieves dead bodies, and I believe it includes the animations showing the retrievers working with the bodies. I saw it once a long time ago and thought it was pretty clever! Maybe that would work for you?