да, еще можно собрать кастомную версию екста, под свои нужды через онлайновый конструктор или вручную. Кстати, размер никак не пару мегабайт, а чуть больше 500 кб ( я о ext-all.js + ext-base.js)
При разработке то зачем все в один файл объединять :)
Это имеет смысл делать на продакшн версии, а ее даже и не нужно через yuicompressor пропускать.
Повторюсь, все что вы написали это хорошо, но делается Web Optimizer'ом, особого смысла писать свой велосипед нет.
У меня в проекте есть система стейтов, при дебаговом режиме не используются сжатые файлы, а используются дебаговые версии. То что я описал я использую только для продакшна.
По поводу веб оптимайзера, это хорошо что есть готовый проект, но не всегда его можно использовать.
Оптимизируем загрузку библиотеки ExtJS до двух запросов