Sharing files with logged-in users
Welcome to the community Adam. 

Yes. Completely possible with vanilla Craft. 

There's always more than one way to achieve things but here's a first round. 

Start by creating two User Groups; Contractors and Clients. This will allow you to define permissions as needed. 

Your 'Property Projects' Section could contain fields like. 


Title
Description
Images
Related Contractors (user)
Related Client (user)
Etc as needed


Craft has a custom field type called 'User' which will allow you to relate all of the relevant contractors to the project and also define who the client is, all within the 'project' Entry. 

Because the client also has a user profile and is able to log in to Craft (front end only), you can present their project information to them in the 'client area' of the site. 

If you actually want the client to edit their project Entry, then you could also consider making them the Author of their Entry. (Just an idea)

Have a look at Craft's relatedTo documentation