Я не на своей рабочей станции (и не могу убедиться, что это правильно), но из документов видно, что вы должны быть в состоянии сделать это, используя логическое «И» как часть вашего динамического поиска.
Проверьте нижнюю часть этой страницы: http://grails.org/doc/1.3.7/ref/Domain%20Classes/findAllBy.html
И здесь, в разделе «Логическая логика»: http://grails.org/doc/latest/guide/single.html#5.4.1 Динамические искатели
Что-то вроде этого может работать:
channel.findAllByTitleAndDateBetween("CNN", new Date(), new Date() + 2)
В противном случае критерии должны делать то, что вы хотите. Я заметил, что вы упомянули о желании использовать findAllWhere (не findAllBy), но я предполагаю, что вас волнует набор результатов. Не стесняйтесь поправлять меня.