yo lo he hecho funcionar con yiibooster, que trae un widget que se llama dateRangePicker (que son dos datePickers juntos).
Yo de ti, antes que meter yiibooster solo para esto, intentaría hacerme un widget dateRangePicker a mano, o encontrar uno
(He visto este pero no he podido ver la demo… http://www.yiiframework.com/extension/daterangepicker/ ) que funcione.
Y después,y aquí viene la magia de yii… 
Integras el dateRangePicker en el filtro del grid, en el array de columnas, asi:
... Otras columnas
,
// Columna RangoFechas
array('name'=>'fecha_rango',
'header'=>'Fecha Entrada',
'type'=>'raw',
'value'=>'date("d/m/Y H:i:s", strtotime($data->fecha))',
'filter'=>$this->widget('booster.widgets.TbDateRangePicker',array(
'model'=>$productos,
'attribute'=>'fecha_rango',
'htmlOptions'=>array('id'=>'dateRangePicker_'.$model->id,
'class'=>'form-control date-filter'
),
'options'=>Controller::$dateRangePickerOptions,
),
true).
'</div>'),
... Otras columnas
Aquí lo importante es llamar a $this->widget(‘booster.widgets.TbDateRangePicker’
en la propiedad filter. (tú tendrás que llamar a tu widget,
probablemente algo como "extensions.widgets.dateRangePicker.dateRangePicker"
El ‘value’ lo dejas como lo tengas configurado ahora para ver las fechas como las tienes.
Por supuesto tener definido en tu modelo la propiedad fecha_rango
public $fecha_rango;
Ese options que tengo yo definido ahi son opciones para mi dateRangePicker, son estas, pero el tuyo puede necesitar que lo configures de otra manera (es probable):
public static $dateRangePickerOptions = array(
'locale'=>array(
'firstDay'=>1,
'applyLabel'=>'Aceptar',
'cancelLabel'=>'Cancelar',
'fromLabel'=>'Desde',
'toLabel'=>'Hasta',
),
'showDropdowns'=>true,
'format'=>'DD/MM/YYYY',
'autoclose'=> true,
);
y el htmlOptions puedes ignorarlo
Por último, si todo va bien, en el modelo vas a recibir el rango de fechas en la función search()
Mi dateRangePicker hace que $fecha_rango valga "01/01/2014 - 15/01/2014"
Tendrás que asegurarte de que viene en el formato correcto,
que son dos fechas,
que son validas
construir una fecha mysql con la primera (2014-01-01) y con la segunda 2014-01-2014
y meterselas al $criteria:
if(isset($this->fecha_rango) && $this->fecha_rango != ''){
// parsear en $fechaIni y $fechaFin las dos fechas ... que vendrán en fecha_rango de la forma "dd/mm/yyyy - dd/mm/yyyy"
// esto te lo dejo a ti que no estoy muy orgulloso de mi funcion para parsear (es una chapuza...)...
$criteria->addCondition("fecha >= ':fechaIni'");
$criteria->addCondition("fecha <= ':fechaFin'");
$criteria->params[":fechaIni"] = $fechaIni;
$criteria->params[":fechaFin"] = $fechaFin;
}
y debería funcionar…

suerte!