You can, but will be just as messy as a dialog.
If you do not want to make your own dialog, might I suggest using my Dynamic Dialog?
you can find it here:
http://www.sinewsofwar.com/forum/dloads.phpUnzip the file
Copy the folder "SOW_DynamicDlg" to your mission folder
Copy the contents of the Description.ext file paste it all into your description.ext file (anywhere)
Put in your init.sqs file this line:
SOW_FillListBox = preprocessfile "SOW_DynamicDlg\FillListBox.sqf";
RespawnSpeech = call loadfile "RespawnSpeech.sqf";
create a function file "RespawnSpeech.sqf" in your mission folder
and paste this into it:
private ["_structure"];
_structure = [];
comment "Array consists of [ AI unit text response, [Array of user responses] ] for each dialog 'page' or 'set' ";
comment "Array for user responses consists of [text, which page to go to next (or -1 to end), {scripted action} ]";
comment "Speech Set 0";
_structure = _structure +
[[
   "You have died. Please choose your respawn area:","",
   [
      ["Respawn Area 1",-1,{_listener setpos (getmarkerpos "respawn1")}],
      ["Respawn Area 2",-1,{_listener setpos (getmarkerpos "respawn2")}]
   ]
]];
_structure
NOW, you will have to change some stuff because I don't know what you use for respawn areas? Are they markers? If so change the marker names "Respawn1" and "Respawn2" in the above code to match yours.
You can also change the text to whatever you want.
Lastly, you will need to change the
{_x setpos (getpos leader _x)} foreach _units
in your relocate.sqs file to:
{if (_x == player) then {[player, RespawnSpeech, player] exec "SOW_DynamicDlg\talk.sqs"} else {_x setpos (getpos leader _x)};} foreach _units
There is one problem with this. If the player chooses the cancel button or hits the ESC key during this dialog, they will stay at the original respawn marker.
Let me know of any problems.