I haven't done this with Crystal, but when I was doing marketing reports we would use a style called Cross Tabs, which Crystal supports. If it is anything like the program that I used, you could define your clients down the side and the consultants across the top with answers in between...but I have never used the Crystal cross tabs.
You might also consider writing a Custom Function for the report where you pass in the parameters and it returns a response, it won't neccessarily cut down on the number of formulas, but would make for less typing as in that many of formulas, there is a lot of cut and paste.
Otherwise, DBlank suggestions seem reasonable. To further cut down on coding, since both subreports would be the same except for the grouping, you could make the grouping based on a formula and you could pass the parameter in, this way you would only have 1 subreport to support, just displayed twice. I think this would work, I haven't tried it with subreports (1 subreport used twice in the same report), but the grouping based on a formula, I use all the time.
Hope this leads you to a solution.