Правильно ли хранить дополнительные методы в модели?
Я считаю что это правильно. Ведь модель для этого и нужна, для работы с базой. Главное чтоб вы не делали дублирование стандартных методов :)
По мне, так это не правильно.
Для получения из одной модели данных по разному отсортированному, но делать это через разные методы, это большое излишество кода. У вас есть CDbCriteria->order, например, а порядок сортировки тоже не проблема передать в модель.
А получение разных данных, если подразумевается разные поля из одной модели, то тоже лишнее кодирование, на мой взгляд. Можно всегда отдавать дозволенный набор полей.
Если таких пересечений много, то даже для читабельности проще объединить эти методы, хоть банальный search() сделать. Выделять в компонент или поведение, наверно нет. Хотя все это можно вынести в scopes(), где и описать и сортировку и поля в select.
И по мне лучше их сделать не статикой, но это все зависит от контекста модели и ее методов.