Is it possible to call a function but disable that functions hook calls? In this answer I wanted to alter a URL using hook_file_url_alter(), and within my implementation of that hook I needed to convert the URI to a URL. 

Normally this would be done with a call to file_create_url() but that is not possible here as it would trigger my hook causing an endless loop.

I can see at the top of drupal_alter() it is using the static variable $drupal_static_fast which makes me think maybe there is a way of using this to temporarily disable a hook being called, but I'm not sure.
You can't stop the hooks from being invoked unless you edit drupal_alter (or file_create_url) directly.

But you can use static vars to short circuit your own implementation so it only runs once for a given $uri:

function MYMODULE_file_url_alter(&amp;$uri) {
  $processed_uris = &amp;drupal_static(__FUNCTION__, array());

  if (!in_array($uri, $processed_uris)) {
    $processed_uris[] = $uri;

    // Even though this call will re-invoke the current function, the URI has been 
    // processed, so no infinite loop.
    $foo = file_create_url($uri);
  }
}