Я добавил эту строку в свой файл index.jade:
script(src="/socket.io/socket.io.js")
И каким-то образом он автоматически знал, как передать этот файл Javascript моему клиенту. Как это работает?
Socket.io добавляет обработчик запросов на сервер. См:
https://github.com/learnboost/socket.io/blob/master/lib/manager.js#L90
Обработчик обрабатывает любые запросы, начинающиеся с /socket.io, и обрабатывает их (например, обслуживает файл socket.io.js, где бы он ни был установлен)