I am not certain you can call a subreport that is not part of the main report. My understanding is that the main report acts as a container for the subreports. I am not aware you have the abililty to set a subreport path in code.
As a fall back, what you might do is create subreports and then suppress them until needed. If you have a large report and need a lot of subreports the performance could be impacted.
You might also look at the dynamic subreport features, where the subreport does not run/show until its link is clicked. I dont know if this opens up a way to dynamically change the reports.
Sorry I can not be of more help. Perhaps others will have better solutions.
Regards,
John W.