Yup! What you describe ought to work just fine. Heck, you don't even need to do multiple preloads if all are the same music file; each time you play, you can just use the same preload but define different loop parameters in the PlayBGM command.
In the example video, that's the trick I use in the Cymore part of the video, though there it's not in battle. When you first enter the little graveyard area on the east side, it plays a short loop of the song's intro that will last until you leave. Once you head west into the main town, the loop parameters change and the full track is allowed to play.
EDIT: Okay, looking back at the example video, it's not that clear that I did that. I had another example video that made it more clear: