Hi,
You can create a Flag in your main report, with values True or False something like this
1)Create a Parameter in your main report asking the user whether he wants to generate sub-report data or not.
If the value is True generate subreport data else suppress the subreport.
2)So you will need to link the subreport on user choice parameter value,for that create formula in main report which will hold the parameter value,then link that formula field to your subreport once you link a
{?Pm-@test} parameter will be created in your subreport.
3)just check for the value of that link field in your record selection formula of subreport
{?Pm-@test} = 'True'
Same way you can check for certain condition in your mail report if that is satisfied generate subrepport else suppress.
Cheers
Rahul