Тоже столкнулся с подобной проблемой недавно. Решил созданием объекта для каждого подключаемого модуля и возвращение конструктора этого объекта как свойства объекта exports Для каждого модуля нужно создавать отдельный объект. Свойства, которые должны быть экспортированы нужно добавлять в качестве свойств объекта exports:
// modules/test.js
exports.Test = function(param1){
// ...
}
// script.js
require.paths.push('./modules/');
var Test = require('test').Test;
var test = new Test();