@sworks, the problem is that you cannot assign two contexts to the same tasks. The only working solution I have seen over the years of begging to have a way to associate more than one "tag" with a task (be in multiple contexts or just user defined meta tags, or just tags for the love of god - something that everyone else but OmniGroup seem to do) is to use a convention for what constitutes a tag and then create a perspective based on a search for the tag and the associated context.
For example, you could chose to tag all people with $, so whenever you have a task that involves Tom you write $Tom (not strictly necessary, but I feel it would preclude confusion).
You can then go to the Contexts view and do a search on $Tom. This will return all tasks that have $Tom in the task title or text. If you group that view by Contexts, and you happen to have a WaitingFor context, you will see all the tasks you are waiting on Tom for. Save the search result as a Tom Perspective and there you are. If you assign a lot of stuff to Tom, you could do what is suggested above, and before saving, click on the WaitingOn Context, so you show only the tasks that you are waiting for on Tom (versus any other task that relates to Tom in other perspectives). Then simply save it as a "Waiting on Tom" Perspective.