Где лучше прописывать условия в YII2?
1. Красиво ли и целесообразно писать условия и циклы в модели, а не в контроллере, если это удобнее?
Да желательно писать всё что связано с обработкой бизнес-логики (там парсинги всякие) в моделе. В контроллере же, нужно это вызывать и просто передавать переменные ($_POST, $_GET)2. Мне нужно выполнять ajax запросы из БД. Стоит это оформить прям в контроллере или равносильно вынести ajax во вьюшку и передавать через POST уже контроллеру? 
Но ведь УРЛ от Ajax-запроса все равно вызывает экшен контроллера. POST'ом следует выполнять только то, что изменяет что-то - пишет в базу например. А для выборки нужно использовать GET. Во вью задаётся клинтская логика, которая вызывает урл и в ответ делается что-то - обычно это в 99% делается именно так.3. Как лучше - делать все циклы с массивами в контроллере и переменные уже передавать во вьюшку или равносильно, что и разбирать массивы во вью?
Ни в коем случае не нужно разбирать массивы во вью. Во вью нужно просто отображать эти подготовленные массивы, а подготавливатся они должны в моделе и в случае необходимости изменять своё содержимое через экшены.Есть ли вообще какие-то правила по этому поводу - оформление кода?
Почитай что такое SOLID, Separation of Concerns
А что касается MVC:
 - то модели должны быть толстыми (вся обработка должна быть только там)
 - конроллеры тонкими (должны уметь только получать и передавать)
 - а вью - тупыми (должны знать только как отображать)
Как-то так
всё завит от того какой подход выберите именно вы. Можно вообще выделить слой сервисов которые будут делать ту или иную работу. Но я бы вьюхи использовал только для отображения данных