Diese Interoperabilität nennt sich gemeinhin „Federation“: http://en.wikipedia.org/wiki/Federation_(information_technology)

WhatsApp verwendet kein XMPP. XMPP ist für Mobiles der absolute Horror, denn es basiert auf TCP und damit braucht der Client eine stehende TCP-Verbindung, was massiv auf den Akku geht. Außerdem kommt es permanent zu reconnects, wenn sich laufend die IP-Adresse des Clients ändert.
Aus diesem Grund will man ein verbindungsloses Push-System dahinter haben.

Google und Facebook verwenden XMPP, Facebook hat sich aber noch nie an s2s (Server to Server) Verbindungen beteiligt, Google hat es vor ca 1 Jahr abgeschaltet, damit kann man sich zB. von eigenen XMPP-Servern und damit eigenen XMPP-Accounts nicht mehr mit Google-Usern unterhalten, sonern muss den Google Account verwenden.
Ich habe zB. sowohl meine Facebook als auch Google-Account in meinem pidgin konfiguriert.

TextSecure (clients momentan nur für Android) ist momentan das IMHO beste System in diesem Bereich:
– open source
– harte crypto
– multi device (man kann einen Account auf meheren Devices nutzen)
– bald für iOS und Desktop
und: es unterstützt Federation, man kann sich also seinen eigenen Server hinstellen und es darüber machen.
Siehe: https://whispersystems.org/blog/the-new-textsecure/

Ich muss natürlich immer noch den Account des anderen Teilnehmers kennen …