Из расширения можно писать файлы, но только в песочницу, и они будут с зашифрованными именами (расшифровка будет лежать рядом в LevelDB-базе). Так что да, лучше всего какой-нибудь сервис.
@borNfree отрешитесь вы от вьюх, они тут не при чем.
Конечно, похвально, что вы стремитесь уменьшить связанность, но чудес не бывает: либо collection2 должна знать о collection1, либо должна быть какая-то еще сущность, которая знает о collection1 и о collection2.
Понял.
Никогда такого не делал, так что не смогу вам подсказать. Как минимум, в лоб можно сделать — создавать отдельные таски, и в каждой явно прописывать что из footer.jade получается footer.html и т.д. Можно создавать их программно, кстати. Но перед этим советую очень внимательно покурить мануалы.