Мне кажется, что пытаться грузить модули через LOAD_PATH - это абъюз системы и создание самому себе массы проблем. Может в этом виноваты разработчики языка, конечно, но такова жизнь.
1. Это потребует при загрузке библиотеки запихнуть в LOAD_PATH пути до всех файлов. То есть да, нужен какой-то дополнительный скрипт, в который всё равно надо будет как-то имеющуюся структуру проекта запихивать.
2. Это резко ограничит имеющуюся гибкость , так как накладывает условие 1 модуль = 1 файл с тем же именем. Прямо Java путь какой-то....
1. Я бы предпочел иметь структуру проекта в отдельном скрипте, потому что явное лучше неявного. :) В LOAD_PATH прописываются директории для поиска модулей.
2. Моно описывать модули, реализация которых распределена на несколько файлов (через include опять же, но тут ничего не поделать).