This addon is for the Rogues and Shadowblades that just found a cool new dagger to replace one of the ones they're wielding, or the Stone Wardens that want to swap in Titanic, or any character that just wants to replace one of their rings. Normally in a case like this, to make sure you're swapping out the one you mean to, you have to take that one off specifically before wielding the new item. This addon pops up a dialog to let you choose the one you want to swap out.
Now, I think I've got this mostly working; the wielded item goes to the right place, the replaced item properly goes back into inventory, nothing gets lost or duplicated (some of my early attempts at this were horrific...), monsters don't move until you're finished wielding, and you can cancel out of the dialog safely without using energy. The problem is that it leaves the inventory dialog in a bad state: Player:doWear() returns immediately thanks to the dialog before we can get around to wielding anything, and by that time, it's too late to tell the inventory dialog to update itself to reflect the changes. I haven't figured out the right combination of coroutines to get this to work; perhaps someone here whose Lua-fu is stronger than mine can tell me what I'm missing...

Since this is only a mostly functional addon, I'm not uploading it to the website yet; instead, I've attached it here. I believe the appropriate procedure is to rename the file from .zip to .teaa (the latter of which the forum squawks on, apparently) and stick it in your addons directory. And this comes with the usual WARNING: I'm pretty sure this won't actually break anything, but don't use this on a character you'd really hate to lose.