thanks to both of you for your reply! @seb-harmonik.ar - i'll check out your approach, as loop~ was getting pretty close to the behavior i wanted in the first place and i couldn't figure out how to get reverse playback.
@porres, actually i would be completely satisfied with current behavior in [player~]. just add the ability to create a loop size without resizing the buffer. this is pretty much what the [groove~] object does in MaxMSP - look at the attributes section:
https://docs.cycling74.com/max5/refpages/msp-ref/groove~.html
the [wave~] object in MaxMSP to my recollection is a bit of a different beast, as it's limited to a very small amount of samples (or it used to be anyway) and is intended for wavetable synthesis, not sample playback from a buffer per se. however looks like the current version in Max removed that sample length limitation though, and works in a similar manner. biggest limitation i can see about it though, is possibly no ability to change pitch, or do reverse playback, both requirements for me. i might be wrong but i don't clearly see those options.
let me check cyclone's [wave~] object reference...okay it looks like variable speed playback and reverse is supported and there's no sample length limitation. but resizing loop length really messes around with the sample playback rate and i'd prefer it not change pitch/rate while that happens.
i think i would put a request in for a feature change add for [player~], as i think it would be helpful to others to have at least one object that could have adjustable loop size as well as directional varispeed.