The ribbon renderer doesn't work like that unfortunately.
Each segment of the ribbon is drawn between two particles.
Each quad/segment uses the TextureID from the first particle to determine what sub-rect to use when drawing.
It uses the other properties of each particle for the rest (UField, Color, axes, etc...)
So when you setup the RibbonU to scroll across the ribbon, it does scroll the UVs, but the TextureID that's being used is still a single one per segment.
To do what you want the ribbon renderer would need to somehow have each particle be aware of the TextureID setup by every other particle to know what to display when the scrolling U field brings that sub-rect to their segment (not sure if that's clear)
And you can't do that with the ribbon renderer :/
I don't see a cheap, obvious alternative, only a very expensive one (have as many ribbon renderers in your particle as you have sub-rects, draw them with the same properties except TextureID and Color, and make each segment transparent except where the sub-rect is, so to display 10 atlases, you'd have 10 renderers. pretty horrible)
Perhaps the effect you're trying to achieve can be done another way than picking random sub-rects per segment and scrolling the UVs ? What kind of effect do you want to do ?