Try this approach:
Define a value list with the text: "Today" ; "Tomorrow" ; "Last Week"; etc. listed as values. Use a case function in a calculation field or a script to use that selected text to determine which calculation to enter as your search criteria.
To do exactly what you describe, you might use this approach:
In a calculation field that returns text:
List ( daterange1 expression here ; date range 2 expression here ; date range 3 expression here ; and so forth )
Define a conditional value list such that this text field (must be stored and indexed) in the current record is the only sorce of values.
If you have a serial number field, __pk_PrimaryKey, defined, you can use this in a self join relationship:
YourTable::__pk_PrimaryKey = YourTable 2::__pk_PrimaryKey
Create "YourTable 2" by selecitng YourTable in Manage | database | relationships and then clicking the duplicate button (two green plus signs).
Now use the specify field option in Manage value lists and specify that the field be this calculation, taken from YourTable 2. Then select "include only related values starting from YourTable."
Since this field must be indexed, you'll need a local storage date field that is loaded with today's date by an OnRecordLoad script trigger controlled script so that is current, but stored.
Thanks PhilModJunk, this works really well.