Based on your description, I believe the MSP (multi-service provider) feature will do what you are looking for. Take a look at the chapter on working with contracts in the SLM User Guide. You'll find a section that discusses setting the the MSP feature up which allows you to segment which contracts users have access to.
Let us know if that works for you.
This seems promising...
I will take a look and notify you.
Your in the right track, but I would recommend reading the following post:
Some issues are discussed that might come in your way, or not...