How about put the params in a one-row derived table, and cross join it to Reporting?
Example:
select thingy
from Reporting, (? orgname, ? periodtype, ? reporttype, ? datestart) myparams
where organisation_name = orgname
and blah blah
and datereported between
(case blah blah date_add(datestart, interval blah
If things get too complex, can put them into a stored procedure instead.