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