I would not expect big problems using shared websocket client connections for your application -- in a way similar to the shared use of (relational) database connections. In this analogy, it may or may not be possible to use the same connection in different threads (depending on the thread safety of the connection objects. Again in this analogy, questions of transactional safety may or may not be relevant.
A bigger problem would be the implementation of websocket server connetions inside Plone itself. The Plone/Zope infrastructure is strongly request based and hides communication details. An important websocket purpose is the establishment of a connection between the browser and the server which remains open across multiple requests and especially allows the server to send messages to the browser without being asked for it explicitely in a request. This does not fit well with Plone's request oriented processing model - and it requires the exposure of communication details.
I do not see the biggest problem in ZServer. It already supports "FTP" which is a protocol based on long standing connections. It is fairly easy to extend (a long time ago, I implemented an NNTP extension for ZServer -- another protocol with long standing connections). The problem is how to handle an incoming websocket connection: its communication structure is not request oriented and therefore fits bad with Plone's basic processing model.