This is possible with subreports and 2 SQL commands, I sort of replicated what you wanted (we have clients with multiple matters in their names rather than policies) - what the following does is allow the user to type a client number, once pressing ok, a new parameter field will be displayed which lists all the matters under that client - user selects an option from that list and details of that matter are shown in the sub-report.
First create a command for your main report with an embedded static parameter, example to follow;
select
matter.number
from client
join matter
on client.clientindex = matter.client
and client.number = '{?client}'
This is simply the list of matters that belong to the client, the result from matter.number will be the options in my second paramter.
Now create an additional dynamic parameter (I called mine @Matter) and set the datasource as the result set generated by the above query (matter.number).
Now create a command for your subreport (this should contain all the data you actually want to display to the user), this should also have an embedded static parameter to filter the data, my example follows;
select
matter.number,
matter.displayname
from matter
where matter.number = '{?matter}'
Now link your subreport static {?matter} parameter to the dynamic {?matter} parameter in your main report.
This is what I think you're after, it works fine for me but if I haven't explained the process of implementing it very well let me know.
Regards,
Ryan.
Edited by rkrowland - 24 Feb 2012 at 5:52am