I remember one program that had a string print subroutine that took zero args. It just used the return address from the stack to grab the nul-terminated string immediately following the JSR/CALL instruction. It then patched the return address on stack to return just after the nul.
Bad for storing data in .text, but still a neat hack that shaved whole tens of bytes off the program size.