Ganz so dynamisch geht das Leider nicht, da im WAVE-Header die Länge der Datei steht. Eine ordentliche Implementierung liest nach dieser Länge keine Daten mehr ein.
Trotzdem könntest du die Daten an die Bass-
Dll Streamen (irgendwie kannst du eigene Dateizugriffsmethoden festlegen). Allerdings gibt es bei der Bass.dll eine einfachere Lösung für dein Problem: Die Bass.dll unterstüztzt es, zwei Streams gleichzeitig zu öffnen. Somit können auch Effekte wie Crossfading realisiert werden.