The problem with Jabber is that you have to program both the clients and the component side to get this idea to work. Most clients come with only a very simple interface and it isn't dynamically expandable like a web page. There is no simple thing like an encoded url you can choose. I experimented in using the 'thread' tag of the message namespace to hold a url, and it works fairly well, but this does not provide anything to choose, the user still has to type in some text response. Jabber should be more useful for machine to machine for this kind of thing. So my assessment is that Jabber would have a disadvantage in that programming has to be done on both ends.