Для начала все свои "неизвестные поля" соберем в массив $arr:
foreach ($_REQUEST as $k => $v) {
if (strpos($k, '_from_where_') === 0)
$arr[$k] = $v;
}
А затем этот массив передадим в параметр array_merge():
return array_merge($reference_model->get_alias(), array(
'_currency_id' => array( 'method' => 'get_currency_by_id'),
'type_id' => array( 'method' => 'get_transport_type_by_id'),
'_region_id' => array( 'method' => 'get_region_by_id'),
'_drive_id' => array( 'method' => 'get_drive_by_id'),
'_color_id' => array( 'method' => 'get_color_by_id'),
'_affiliate_id' => true,
'_vin' => true,
'_fabrication' => true,
'_cilindrics' => true,
'_price' => true,
'_mileage' => true,
'_price_negotiable' => true,
'_version' => true,
'_seats' => true,
'_engine_power' => true,
'_best_offer' => true,
'_category_id' => true
),
$arr, /* !!!!!!!!!!!!!!!!!!!!! */
);