well, yes and no. If you bind the report to the database...by using a stored proc or a direct table join, then no, you can't dynamically change the report, for so many reasons.
If you have an application, then there are some options. If your report is set up to use OLE connection, you can set that in the app, but the easier and cleaner way is to have the application retrieve the data and then pass all the data to the report via ADO.Net (basically and XML file). The report doesn't care where the data came from, as long as the structure is correct it will process it. This is how all of my reports get their data.
HTH