Необходимо ли писать дополнительные методы в модели, чтобы вытаскивать некоторые данные?
Ну я лично пишу подобные функции, только оформляю их в качестве статических и запихиваю их в соответствующую модель, т.е. тот же код можно было оформить так<?php

class User extends CActiveRecord
{
    // ...
    public static function getDate($id)
    {
        $user = self::model()->findByPk($id, array('select' => 'date'));
        return $user === null ? null : $user->date;
    }
    // ...
}
и в будущем использовать данную функцию так User::getDate($id)
1. работа с данными должна быть в модели
2. если одну дату рождения хотите получить, то не повлияет.
3. контекст вопроса какой?