Takie rzeczy to chyba lepiej w Javie pisać

Ja bym zrobił to w ten sposób:
Tabela z wiadomościami (od kogo, do kogo, data, treść, czy_przeczytane) i tabela z informacją czy są nowe wiadomości (nick, czy nowe).
Wysyłanie wiadomości za pomocą AJAX'a i zapis do bazy nowej wiadomości + ustawienie czy_nowe=true dla adresata wiadomości.
Oprócz tego jakaś funkcja, która odpytuje serwer (też AJAX), czy są nowe wiadomości (jakiś parametr z tym od kogo oczekujemy odpowiedzi), jeżeli są to je pobiera. Ustawia, że zostały przeczytane, a w drugiej tablicy, że brak nowych.
Jeżeli są nowe to jakiś komunikat lub ikonka lub co tam chcesz:)
Co do dwóch rozmów, to możesz podzielić ekran na zakładki (takie pseudo GG) i w przypadku, gdy jest nowa wiadomość od danego użytkownika to jakoś go zaznaczasz. Z tym, że w takim przypadku nie wiem co będzie lepsze, czy uruchomienie dwóch funkcji odpytujących, czy wysyłanie/ odbieranie wszystkich danych i rozdzielanie ich po stronie serwera/klienta.