И вообще, если библиотеки не заточены под такие нужды, стоит ли использовать AJAX long-polling (как никак вк работает на нем)?
Это несвязанные вещи.
Использовать long-polling следует, когда имеются технические ограничения, не позволяющие установить соединение по WebSocket.
Библиотеки (socket io/sockjs/ws) по умолчанию посылают сообщения всем пользователям в общий чат. Нужно создать на websocket отдельные переписки между клиентами.
По умолчанию эти библиотеки просто передают данные.
А будут эти данные транслироваться в общий чат или нет - зависит от того, что делает с полученными данными приложение/сервер.
Как реализовать личные переписки на websocket?
Вопрос бессмысленный.
Аналогия:
У меня тапочки в общий прихожей. Их может одеть кто угодно.
Как надеть тапочки на чьи-то конкретные ноги, например, на мои личные ноги.
Ответ:
На какие ноги наденешь, тот владелец ног и будет носить.