You can add a preamp to almost any bass, just need to make sure it will fit inside the control cavity. Don't forget that a 9v battery has to fit inside there too. If there's not room, then you'll have to have a battery box routed out of the body or have the control cavity routed to make it larger. If you have to pay to have that done, it could get expensive.
Preamps range in price from about $50 (look up 'BassMods' on eBay), to about $100 - $150 (EMG, Bartolini) and on up...(Aguilar, Glockenclang, ect...) There's many different types and configurations: 2-band (bass, treble), 3-band, some have "sweepable" mids and other features. It all depends on what kind of sound you want, and how many knobs you want to twiddle. More knobs = more $$. EMG has a 2-band preamp with concentric (stacked) knobs so you can replace your existing passive tone control with an active bass/treble tone control and not have to drill any more holes in your bass.
I just installed an EMG preamp in my Ibanez Ergodyne bass. This bass already had an active preamp, so it was an easy install for me. I did have to make one soldered connection, but everything else on the EMG setup uses push-on connectors.
Onboard distortion? At least one company makes them: http://store.guitarfetish.com/GFS-MODboards_c_204.html
If all this seems too expensive/complex/difficult, you could always beef up your tone with effects pedals. The Danelectro Fish'n'Chips EQ will give you lots of tone control and a signal boost too.