you can have a player respawn wherever you want him using any marker and a "setpos" command
You can do it the following way using a trigger and a simple script
Trigger is
Condition : Alive W1
where W1 is the name of the player
Act: [W1, "Markername"] exec "respawn.sqs"
************************************************************
;;respawn.sqs
_player = _this select 0
_respawn =_this select 1
_position = getMarkerpos _respawn
_player setpos _position
Exit
****************************************************************
All you need to do now is tweak it, so that it can cope with a changing respawn location