There are several ways to do this, I think one of the easiest is to use the SSRS web service API. The web service allows you to manipulate all reporting objects, including data sources .
As a solution to this problem, you can update the credentials of data sources using web service calls every time the database password changes (even automate it using some kind of trigger?).
I did something similar in a project where RDL and data sources had to be created, deployed and processed at runtime, and it worked fine, so updating the data source should be feasible.