Почему бы и нет, если маршрут по умолчанию определен после маршрута каталога.
Route::set('foo/subdir', '<directory>/<variable>/subdir/<controller>/<action>')
->defaults(array(
'directory' => 'default_directory',
'controller' => 'index',
'variable' => 'default_variable',
'action' => 'index',
));
Маршрутизация Kohanas поддерживает каталоги «изначально», не нужно ничего взламывать.
Обратите внимание, что имена ваших классов также должны включать имя каталога.