As far as accessing a separate db than DNN...
Someone correct me if I'm wrong, but to the best of my understanding, DNN, through the methods provided by the module base class (and the sibling methods of the partial class for modules in asp.net 2.0 / dnn 4.x) uses the DNN SQLDataProvider to access the DNN database.
So the data provider you author for your module can access its own database with no problem at all.
The module you right then can use the base methods for DNN to access DNN information through the DNN data provider while using your own data provider to access a completely separate database all together.
One thing I personally have not investigated is whether or not I can ask for two separate data providers... but I can't see why it wouldn't be possible.
Bill