Probably ruled out by the "no forth" rule,
the 6809 had data register stacking instruction for either the S or the
extra U stack pointer
PSHS | PULS | PSHU | PULU X,Y,D,CC,...
and I think you could use
PULU PC,...
for return, just like you commonly use
PULS PC,...
as a quicker way of the standard return sequence
PULS ...
RET
Saving time stacking the data registers might make up the extra time
for nonstandard call resolution sequences.
-- strick