How to have one node's access dependent on another node's access?
Create a custom module.

Use hook_node_view to run some code whenever a project node is viewed. 

In that custom hook, find the company nid by looking at the field of the current node. 

Then use node_load to get a node object of the company, check the company's access and then call drupal_access_denied if the current user does not have access to that company.