How can I allow admins to choose anything from an Entity Reference field while restricting it for everyone else?
The solution was to use hook_views_pre_build. That hook lets you edit the view's criteria before it actually gets run. Here's my full code:

function mymodule_permission() { // Create the permission for privileged users
    return array(
        'create jobs for any company' =&gt; array(
            'title' =&gt; t('Create Jobs for any Company'),
            'description' =&gt; t("Don't limit the Company field in the Job node type to only those Companies assigned to the user."),
        ),
    );
}

function mymodule_views_pre_build(&amp;$view) {
    /* If it's the right view and the user has the above permission… */
    if($view-&gt;name === 'job_company_entity_reference' &amp;&amp; user_access('create jobs for any company')) {
        /* …then get rid of the view criteria that limit the choices for everyone else.
        (I found these by enabling the devel module and calling dpm($view) at the top of this function.) */
        unset($view-&gt;filter['uid_current']);
        unset($view-&gt;relationship['reverse_field_company_user']);
    }
}