I think I can help, but I have a few questions...
Regarding "range", are you thinking about two parameters (start date & end date), and/or are you envisioning drop down menu(s) of permissible dates, or something else? Or maybe I'm misinterpreting - let me rephrase as two questions...
1. Are you wanting to pass a single date value to the query or a startdate and enddate?
2. Do you need to restrict the end user to only entering certain date values, or can they enter whatever they like?
This may not at all be addressing your issue, but I have had instances where I need a report to run for a range of dates where the date are confirmed dates OR run for a range of dates for requested dates. In these situations I will usually have three parameters: Date Type (drop down values are 'Confirmed', 'Requested'), StartDate, and EndDate. Then I will pass all three parameters to the query and have the query set up like this:
,(CASE WHEN @DateType = 'Confirmed' THEN t.ConfirmedDate ELSE t.RequestedDate END) as CustomDate
from tables t
where t2.CustomDate between @StartDate and @EndDate
"The Bible tells us to love our neighbors, and also to love our enemies; probably because they are generally the same people." G. K. Chesterton