1. Вопреки распространённому мнению, не ORM "замедляет" работу с базой данных, а её неумелое использование.
Здесь доклад на эту тему в отношении Doctrine, а
здесь слайды с доклада.
2. Согласен с
@kryoz насчёт паттерна Strategy.
3. Нужно взвесить все "за" и "против", принимая во внимание аргументы из пункта первого.