Could emacs-jabber make use of the xmessage tool's ability to accept a timeout argument? I think the alteration would be quite simple. In jabber-xmessage.el you could just add the argument to the start-process function:
(start-process "xmessage" nil "xmessage" message "-timeout 5")
I did try this but it broke; my Emacs lisp is somewhat lacking :-(
It could be made more complicated by making it optional and variable.