For vgmstream, you can use a .pos file with .wav, which provides loop info, I think you can create a .pos with vgmtoolbox. There are also a few ways to put loop info in a .wav directly, such as the smpl chunk; vgmstream supports the .lwav extension so that the default .wav support in Winamp or whatever doesn't handle the file without the loop.
.pos+.wav is the best bet right now. Someone implemented flac support long ago but I never integrated it.
FLAC supports loop points kinda "natively" through the use of a RIFF sampler chunk. BUT most (if not all?) players ignore it. I know exactly one program, which is not a player, that actually reads the sampler chunk and sets the loop points correctly.
foo_loop by weiweiwowwow at 6:15 AM EST on November 11, 2015
I did some search and found THIS AMAZING SOLUTION for foobar2000, but only the source code available.I don't know how to compile a dll, so hope you guys can have a look at this and share your compiled dll fb2k component. Here is the README