Grunt это task runner с большим количеством уже готвых тасков в виде плагинов. По сути то что вы опясали это по сути Ваш кастомный таск, который Вам нужно реализовать на JS. Т.к. grunt позволяет выполнять цепочки тасков то ваш таск можно разбит на несколько мелких тасков. Например:
— найти в темплейте подключенные jsфайлы и составить их список
— склеить
— минифицироовать
— каким либо образом подключить собраный файл в темплейт.
Для части тасков уже существуют плагины, часть вы можете описать в grunt файле.
ps На Вашем месте я бы сначала пересмотрел принципы подключения js у вас на страницах, потому что генерировать кучу разных файлов для разных страниц не оптимально.