Very cool John.
I invented something similar as part of Keyword Consolidator, but mines not as slick as yours for keyword entry.
One thing my "Keyword List" app has that you may want to consider for any-tag is the addition of other metadata items along with keywords.
I worked with a stock photographer who just uses title & caption, so I added them hard-coded. But, since people often want to step through a set of photos and assign all their individual photo-specific metadata in one pass, its worth considering. Maybe have a config that allows them to select which fields they use, in case some use headline instead of caption...
Thinking through the idea of letting the user choose which metadata fields to expose in Any Tag > Tag, I've run into an SDK bug I've known about for a while:
If you give both the "save_frame" and "resizable" parameters to LrDialogs.presentModalDialog, so that the last window postion and size are remembered and that the window is resizable, then the SDK will never let the window resize smaller on each invocation, it can only get bigger.
So if the Tag command lets users select which metadata fields to show, and a user selects a number of them out of curiousity and then deselects them, the Tag window will remain vertically tall with lots of empty grey space.
The only to get the window shrink again is to edit the Lightroom preferences file and delete the corresponding key/value pair. I discovered this during plugin development as I tried to make some buttons optional, appearing only if necessary.