How to set a page level variable that views has access to
I must be addicted to Drupal because it is Christmas and I'm working on this, but here goes.

Delete the page display of your view so that only the master display is left. Then create a custom module with this code in it. (I created a module 'custom', my view is called 'zurb', and my path is 'zurb').

In custom module:

function custom_menu(){
  $items['zurb'] = array(
    'page callback' =&gt; 'custom_zurb_callback',
    'access callback' =&gt; true,
  );
  return $items;
}

function custom_zurb_callback(){
  $view = array(
    '#theme' =&gt; 'render_view',
    '#view' =&gt; 'zurb',
  );
  return $view;
}

function custom_theme(){
  return array(
    'render_view' =&gt; array(
      'variables' =&gt; array(
        'view' =&gt; NULL,
        'display' =&gt; 'default',
        'args' =&gt; array(),
        'regions' =&gt; array(),
      ),
    ),
  );
}

function theme_render_view($variables){
  $view = views_get_view($variables['view']);
  $view-&gt;set_display($variables['display']);
  $view-&gt;set_arguments($variables['args']);
  $view-&gt;pre_execute();
  $view-&gt;custom_regions = $variables['regions'];
  $view-&gt;execute();
  return $view-&gt;render();
}

function custom_preprocess_page(&amp;$vars){
    if (current_path() == 'zurb' &amp;&amp; count($vars['page']['sidebar_first'])) {
      $regions = array();
      $regions[] = 'sidebar-first';
      $vars['page']['content']['system_main']['#regions'] = $regions;
    }
}


Now in your views template file or views preprocess function you can access $view-&gt;custom_regions.

Perhaps there is a better way to pass the $regions to the view than adding it as a member on the $view object, but I don't see it being a problem. If it is a concern you can always just use drupal_static

This code is also re-usable as it uses a theme function.