First - no need to enable Smarty system-wide to do this. Greetings are always parsed by Smarty - see https://civicrm.org/blog/antrik/getting-started-with-new-name-and-greetings-features-in-45.
Besides that, I think you're one of the leading experts on complex token extensions, since you're the primary author of reltoken. But I don't see why you couldn't ...
Since people are looking at this question, it's worth noting that you don't need to enable Smarty system-wide to do this for greetings. CiviCRM 4.5+ automatically handles Smarty in the greetings fields, see this blog post: https://civicrm.org/blog/antrik/getting-started-with-new-name-and-greetings-features-in-45
I think this is a "context" thing meaning that when you are emailing, even from "Find Memberships", you are emailing to CONTACTS and so are in the contact context, whereas for example if you do a "Find Memberships" and then from the actions menu choose "Print/Merge Document", you are in MEMBERSHIP context and can choose tokens like Membership Fee.
No that is not possible. The tokens in CiviCRM are used in letters/emails. So they are used for communication with the contacts in your database.
Also note that a token in CiviCRM is always related to a contact.