What is the best way to stop a node from loading in a node hook?
You can't prevent a node from loading but you can deny/grant access to it. Write a custom module and implement hook_node_grants($account, $op) &amp;&amp; hook_node_access_records($node). Here is a good example.

or, you can implement hook_node_access($node, $op, $account) but this hook will not be invoked  for node listings (e.g., RSS feeds, the default home page at path 'node', a recent content block, etc.)