You can map views directly in your module.config, rather than trying to get Zend to do it automatically:
'view_manager' => array(
'template_map' => array(
'layout' => __DIR__ . '/../view/layout/layout.phtml',
'index' => __DIR__ . '/../view/root/index/index.phtml',
'404' => __DIR__ . '/../view/error/404.phtml',
'500' => __DIR__ . '/../view/error/index.phtml',
'some_view' => __DIR__.'/relative_path_from_module_config_to_your_directory/view.phtml'
),
Then, in your controller you can choose which view to use:
$view = new \Zend\View\Model\ViewModel($data);
$view->setTemplate('some_view'); //name of view in the template_map
return $view;