socket.ioを使えばできるらしい。
apache - Is it possible to use port 80 for both HTTP and web socket traffic? - Stack Overflow
ロードバランサを使っていれば以下のようにしてもOK。
・LBへのリクエストは80番ポートで受ける
・LBはnodeサーバの3000番ポートにリクエストをフォワードする
・websocketで通信する際はクライアントから直接nodeサーバの80番ポートに接続しにいく