You can and should be using WebSocket for presence and instant messaging functionality. In fact, instant messaging is the "Hello world" example of the WebSocket world.
Also, the WebSocket standard was designed to support higher level, richer business protocols (which ironically the standard calls sub-protocols). XMPP is one of such protocols, and there are several implementations out there with the exact features you're looking for.
If you'd like to try it out, Kaazing (the company I work for) has a free download available. It contains an open source XMPP server (OpenFire), along with the XMPP edition of a pre-configured Kaazing WebSocket Gateway. What Kaazing does is it extends the XMPP protocol to Web clients over WebSocket. It does so transparently, so from the XMPP server's perspective your (browser) client is just another XMPP client.
Another good resource is chapter 4 of The Definitive Guide to HTML5 WebSocket (of which I'm a co-author), titled Building Instant Messaging and Chat over WebSocket with XMPP. The book also comes with a free downloadable VM with open source software pre-installed and configured for your testing. Here you can see detailed screencasts of the VM - to get an idea.
Hope this helps.