The
FMOD music and sound effects system can do this (and much more). It's a really great combination of DLL and programming language code (including VB 6 modules) which I recommend to anyone trying to do anything with sound more than just play a single simple sound. The enourmous number of sound formats it supports is great too (the most notable probably being WAV, MP3, WMA, OGG and even tracker music files such as IT). If that hasn't convinced you of its awesomeness, then it can even play streaming files in realtime across the internet and give you access to sound spectrums of the playing sound(s).
EDIT: I just realized how much this makes me sound like I'm part of the FMOD team trying to promote their product, haha... I'm not. >_<
Sounds are played on channels (1 sound on 1 channel, but you can group channels into 'channel groups').
To apply an effect to a playing channel (or channel group) then you connect a DSP to it. There is no DSP for slowing down or speeding up the audio. However, you can set the playback speed (sampling rate) of the playing channel to
lower than normal and use a DSP for pitch-shifting to make the pitch
higher to counteract the pitch-decreasing caused by the lower sample rate. So in other words, it would be at the original pitch, just slower. This would almost certainly not sound very good quality though. If you're not worried about the pitch being changed with the tempo, just change the sampling rate of the channel without the pitch-shifting DSP and there won't be a loss in quality.
I've never done this, but it sounds very interesting to me, and I'd like to make a working example, if only for myself. I'll release it here though, but it will be a lot of code (I'll try to comment it well). It will probably take a few hours, but please bear with me. ;)
I know I'll have to.
EDIT 2: Note that if you're planning to go shareware or commercial, their licenses are very expensive. But when you realize all that's packed into FMOD, it is a justifiable price.