Well any one who has been scripting for a little while knows that the only way to make people teleport short distances is to use the sit hack. I am suggesting that they put a new teleport function in. Now I think it would be good if you made a teleport fuction, possibly using the sit hack, that doesn't need the sit permission. Now you may say well the massive chaos that would insue would be crazy, you'd be correct. That's why I also think a range variable that would be limited would help; you could also make it not work if the object is attached. So basically you could make a object that when a person walks into the range get's teleported to where ever. So basically this:
range is limited to 10(or what ever other value seems good) meters and range past 10 will be treated as 10 meters.
offset is the distance away from the object you wish to place the avatar.
llTeleport(vector offset, float range)
Diffently be handy.
or llTeleportTarget() if it's going to be called by the avatar clicking on Teleport (or touching it), or else llTeleportAvatar(key id) if called automatically by walking within a certain area (llSetTeleportArea(<x,y,z>