Hi Shannon,
We do something similar with our reports but we run our reports through C# applications and we build the report criteria based on the options the users select from the program.
If you're not calling the reports from a Front-End there are a couple of things you can try:
In the Field Explorer under Special Fields you can drop the Record Selection Formula and the Group Selection Formla onto your report. Listing the Groups could be done with a Running Total. The sorting I'm not sure about.
Good luck,
Brian