Hi SJ,
Can you explain more about what your business requirement is? This is not a very typical request.
In order to accomplish it, you would need to create a custom entity. The Opportunity is not connected directly to the Products, but rather it has a "middle record" called Opportunity Product. This allows you to select the project and then specify some additional attributes such as the quantity. You would have to create a similar record that allows you connect the Activity to the Product. Also the Opportunity Product has some hard-coded functionality that you would have to recreate.
All of this sounds like something I wouldn't recommend, so I would need to know more about your requirements in order to make a good recommendation on the design.