How to effectively manage projects and their contacts within CiviCRM?
Have you tried to use CiviCase to simulate a project? You can then add relevant case roles to the case type 'Project' and retrieve all them as relationships with a specific case_id. This would be a good way to get all contacts relevant to a project?
We have used a similar approach with one of our customers succesfully (although we added some stuff too as their requirements were more complicated).