The ID associated with the sessions of Lightstreamer Server is not made available to the client application (neither in JavaScript nor .NET client APIs), instead it is indicated in some callbacks of the Metadata Adapter, as you have already noticed, but in that case the purpose is just to connect subsequent notifications for the same session.

In a scenario like yours that involves private messaging, a possible trick is to let the job do by the Metadata Adapter. Your clients can subscribe to the same Item name ("MyItem"), and in the getItems method of Metadata Adapter you can translate it in a private Item by pasting the sessionId ("MyItem-<SessionID>").
Please refer to this thread too.

About JavaScript library, you are right, the sessionID is sent to the client, but please consider that this is only for internal implementation, and that any application should not care about it.