An enhancement to LSL function library to allow a worn attachment to request or offer teleport to wearers or target's location (+/- small range offset perhaps) exactly as if the TP request came from the wearer of the scripted object themselves.
To avoid the potential risk of griefing this could be restricted to friends of the attachment wearer only (up to you) or generate short script delay / only have one outstanding at a time. But as I can search for any name in the Search for People from Content tab I do not see this as a particular problem.
Popular use would be for leashes which could automatically teleport wearers to their leasher's position when they have just teleported away (possibly with some help from RLV to automate the acceptance but not mandatory)
eg:
key llRequestTeleportAgent(key target, vector offset) - Same as Request Teleport
key llOfferTeleportAgent(key target, vector offset) - Same as Offer Teleport
Key delivered could be actioned from dataserver event where the data would indicate the response:
0 = denied - Avatar does not exist (or is not in friends list if restricting to friends only)
1 = delivered and accepted
2 = delivered and rejected (Cancelled)
3 = delivered and rejected (Timed out)
The offset may be restricted to +/- <10,10,10> basically to ensure people don't land on other people's heads like with normal TP requests.