What about this: when you die and become a ghost, you can walk around anywhere on the map you're on. However, you can't interact with anything, and while you can see and talk to other ghosts, live players can't see you, nor can you talk to them. If you try, all that comes up for them (unless they have a certain passive spell) is a message saying they feel a "ghostly presence," or something along those lines. As such, you could alert people to your presence, which would then indicate that someone on the map wants to be revived, but not allowing the reviver to know right away who they are or where their body is (I agree with the idea, wherever it was posted, that people should be revived at their body, not at their ghost, so that they come back right where they died). If you find a body and try to revive the person (or potentially anyone), they get a message saying, "[Playername] is trying to bring you back! Will you go?" The ghost can then decide to accept or reject the revival. If they accept, then the reviver gets some sort of bonus from the revivee; say, a percentage of their gold automatically transfers to the reviver. If they reject it, nothing happens (this is to prevent people from killing newbies and then immediately reviving them in order to take their gold). The ghost can alternately walk/float to an NPC in a town or whatnot to be revived, which instantly transfers their body to the town, but carries a heavier penalty (more gold?). The reason for the heavier penalty is to discourage people from abusing respawning like can happen in other games ("I need to get to town fast...time to die!" Sounds goofy, but it does happen). It would also encourage people to be healer-types and develop the ability to actually hear what the ghosts are saying to them so that they can find the bodies.
In the way of preventing ghosts from exploring deep into dungeons, there's always the possibility of simply making such areas ghost-restrictive, where if they try to enter (or go further in, if they died within one) they are immediately transported back to their body. Bodies, in this case, would stick around until the player was revived (or disconnected, in which case they would respawn at the last town they visited and take a heavy penalty).
That's my idea, anyhow.