I finally figured this out. I was way over-thinking the issue.
I used my custom web part to place the "fromdate" and the "todate" in the URL query string. I then used the following Values in my filter to use the query string variables to perform my event filter.
%IfEmpty(QueryString["fromdate"],"","dates;"+QueryString["fromdate"]+";Dates")#%}
{%IfEmpty(QueryString["todate"],"","dates;"+QueryString["todate"]+";Dates")%}
I also set the Filter Clause to "Must" to make the above state an "OR" so all checks would be used.
This made it possible to search my startdate and enddate as well as search my custom form control "dates" that housed all of my dates for a given event. Now I can return any event that contains any date in the range chosen by the user.