Сильно волнует 5 пункт.

Можно по-подробнее. Или желательно по-больше самому предлагать?
Я предлагаю(не дождавшись ответа

) фильтры с возможностью комбинирования
И/ИЛИ/Нет.
Пример:Категории:-Поездом
-Самолетом
-Отпуск
-Работа
-Семья
Задача:1. На лето в Сочи с семьей (Поездом, Самолетом, Отпуск, Семья)
2. В командировку во Владивосток (Самолетом, Работа)
3. В Финляндию на сбор клубники (Семья, Поездом, Работа)
4. На дачу на выходные (Семья, Поездом)
Фильтр:&&Поездом;&&Самолетом;&Отпуск;!Работа (Поездом или Самолетом в Отпуск, не Работа)
Результат:На лето в Сочи с семьей
Фильтр:&&Поездом;!Отпуск (Поездом не Отпуск)
Результат:1. В Финляндию на сбор клубники
2. На дачу на выходные
Как мне кажется реализуется это в программе элементарно. Но фильтр получается мощный и гибкий.
З.Ы. Естественно при выборе категории (транспортом) с подкатегориями(поездом/самолетом) выдается результат любой подкатегории (поездом или самолетом).