Динамическая подгрузка (или include) скриптов нужна в исключительных случаях, в подавляющем большинстве лучше на стороне сервера объединять скрипты в один файл, сжимать и отдавать клиенту, так как более приоритетным является снижение количества запросов, а не нескольких килобайт отдаваемых статичных данных.
То есть делаете запрос, например, на:
<script type = "text/javascript" src = "/js/alljs.php"></script>
А этот alljs.php собирает лежащие в директории /js/ файлы в кучу:
header('Content-type: text/javascript; charset=utf-8;');
header('Expires: ' . date('r', mktime(0, 0, 0, date('m'), date('d') + 1, date('Y'))) );
echo file_get_contents('MyLib.js') . PHP_EOL . PHP_EOL;
echo file_get_contents('prototype.js') . PHP_EOL . PHP_EOL;
echo file_get_contents('scriptaculous.js') . PHP_EOL . PHP_EOL;
echo file_get_contents('MyLib.MyWiget.MyForm.js') . PHP_EOL . PHP_EOL;
echo file_get_contents('SomePage.js') . PHP_EOL . PHP_EOL;
Каждый раз объединять файлы конечно только на этапе разработки нужно.