Is it possible to use WebRTC Data Channels on Node.js in a way that mimics the functionality (and preferably API) of Socket.io (WebSockets) except using UDP?
In esse
There is a WebRTC module for node.js: https://js-platform.github.io/node-webrtc/
The installation can be really cumbersome (to say the least) but if you succeed you'll be able to make your node.js server act as a WebRTC peer just as browsers do. This way you'd be able to open a Data Channel between a browser and your node.js server.
We have this in use in our research project to evaluate performance characteristics.
Yes, in theory you should be able to to do this. However, you'll need a node module that supports WebRTC data channels, so that you can connect to it like any other peer. Unfortunately, scanning through the current modules, I don't see one that implements the data channel.
The other thing to note is the WebRTC data channels can be configured for different reliability modes with the reliable mode being implemented with SCTP (Firefox and Chrome).
When testing the data channels I would recommend using Firefox since the WebRTC work was split such that Chrome initially focused on PeerConnection and Firefox on DataChannel (so Firefox is still ahead in their implementation of the DataChannel).