1. get-запросы "ловятся" через методы класса соответствующего контроллера. Сумбурно немного звучит. Попробую обьяснить на примере.
Запрос /index.php?route=product/category&path=20 вызывает метод index класса ControllerProductCategory в файле /catalog/controller/product/category.php
Параметры запроса помещаются в свойство request этого контроллера
2.
Документация по OpenCart
Очень скудная. Слышал что есть более подробная, но стоит $25 и прозрения после чтения не происходит)
Разработчики OpenCart считают что их код абсолютно интуитивно понятный и в объяснении не нуждается)
3. Приблизительно:
Вам необходимо делать урл вида /index.php?route=product/filter&manufacturer&lowprice=20&hiprice=100&color=red (или немного иначе если у вас ЧПУ)
Обрабатывать его в файле /catalog/controller/product/filter.php
Там некоторые фильтры есть стандартные. Вам остается только добавить свои.