у селекта в валуях годам прописываешь UNIX stamp начала года.
У дитто делаешь конструкцию
&filter=`createdon,@EVAL return $_POST['year'];,3`
Выведет все записи раньше этого года.
Если параметр 3 заменить на 4, то выведет все записи старше этого года.
Если сделаешь скрытое поле и в нём передашь например закрывающую дату выводи так:
&filter=`createdon,@EVAL return $_POST['year'];,3|createdon,@EVAL return $_POST['year_hide'];,4`
Выведет записи начиная с year и заканчивая year_hide
Тут подробнее:
modx.ru/blog/409

abadello