I would guess your login problem comes from the way the user is authenticated in SQL Server. This may be a problem more on database side than the report side. There are a number of solutions some may not be acceptable. Those would be to use windows authentication on the database, create a new user to use with the reports and hard code in the password and login, etc.
The changing of the connection string needs a coding solution outside the report. You could remedy it through use of an ODBC connection, then changing it to point to the correct server, or pull the data from the dataset, and using .Net to populate the dataset from the appropriate server. You could have a create a config that would the hold connection data and then have the application pull that connection data in some fashion.
There are probably others on the fourm that have different solutions, I hope this will get the conversation started and you will find the solution that works best for you.
Regards,
John W.