First off, there are two distinct things people are trying to achieve. The most common I've found is trying to get a particular component to get it's data from a separate database. For example, if you have two J! sites and you wish to use the database for a calendar component on both to contain the same data. The second is to get actual Joomla! content from a second database, albeit all of the site's content or just a section of it - and isn't something that I'm really covering here because I've always found ways around doing this.
It is possible!
Most of the questions I get ask if it's possible to get an existing component to work with another database. The sales pitch answer is, of-course 'Yes!'. The practical answer is that it depends on the complexity and the design of the component. If they've correctly used the framework and table objects, then it's a reasonably simple task to modify those to make that component use whatever database you so wish - of if more serious changes are required than from any data source you wish. Taking the 'two sites wanting the same calendar data' example, it could be possible to get the slave site to get it's data from an RSS or JSON feed, instead of accessing the databases.
The golden rule is - the more complex and non-standard the code has been written in, the longer it will take to make it work with another database. Code littered with MySQL queries in different places is not a good sign that it'll be a quick process to take that existing component and modify it.
It can have problems
There is also something that I find people miss: latency. Connecting to a database the other side of the world is slow! While developing components for our clients web sites, or modules for one of our video streaming sites we have development and staging servers in Europe that have to read our main databases in the US. It doesn't sound much, but if a MySQL connect takes 2 seconds each page load you sure has hell notice it. The same goes if you're using another web-based data-source, if the host you're collecting from isn't quick then you're already getting bogged down before you even get around to parsing the data.

