I built something like that for SQL reporting services. It required several tables to pull it off though.
- AdHock_SQL_Reports, which included the name, path, and display name for the report.
- AdHock_Sql_Reports_Parameters, which included the parameter name, and value, along with a flag that tells the code, the the value could be a SQL commnd to generate values on the fly.
Then you would need to build code to deal with these tables, and to generate a list of drop down lists on a web page.
What I built is pretty "fist pass" and is kind of rough around the edges.
You can also expose SQL reporting services reports to users, and have reporting services provide input fields for those reports. We have started to lean that way and away from my code. ( Its better than what I have anyway )