Ну вообще можно было бы и проще:
exit($api->design->fetch('ajax/ajax.modal_'.$key.'.tpl'))
если $key определяемая POST-запросом определена условием или набором.
А на мысль должно наводить содержание вашего сайта и задачи его обслуживаемые. Например, почему бы и нет, если Ajax success всех запросов будет ссылаться всегда на один и тот же объект описывающий набор различных функций. А обмен данными всегда JSON, свойства которого определяют функцию (функции), которые будут выполнены. А это может быть помещение данных в объекты, вывод сообщений, обработка ошибок, определение значений установленным переменным, и т.п.
В общем некий диспетчер, и без всяких IF. И один запрос/ответ может определять выполнение нескольких функций на клиенте, например, поместить данные в объектах и вывеси сообщение. Но чтобы возвращалось сразу N-форм, это нонсенс.