Я б использовал перед nodejs nginx.
Слушаем домены и все его поддомены и передаём в ноду заголовок дополнительный
server {
    listen          *:80;
    server_name     domian.com   *.domian.com;
    set $subdomain "";
    if ($host ~ ^(.*)\.domian\.com$) {
        set $subdomain $1;
    }
    location / {
        proxy_pass          http://127.0.0.1:3000;
        proxy_set_header    X-Subdomain     $subdomain;
    }
}
var express = require('express');
var app = express();
app.get('/', function(req, res) {
    // здесь что-то делаем с этим заголовком
    res.end('Subdomain: ' + req.headers['x-subdomain']);
});
app.listen(3000);