As far as choosing rolling partners goes, I think higher belts should take precedence over lower belts, simply because they have trained much longer. For example, a white belt should never ask a brown belt to roll. The brown belt should have the choice between training partners, as a privilege he gained over the years. He knows what kind of rolling partner he needs next, in order to progress. The argument goes like this.
There are fewer higher belts than lower.
Higher belts need specific training partners for specific drills, depending on whatever they're working on.
Higher belts, as opposed to lower belts, know which partner to choose, through experience : i.e. such and such has a good guard, I need to try this guard pass on someone with a good guard.
Higher belts need to improve as much as lower belts.
Thus, to give higher belts the chance to improve the most, we must allow them to choose their partners first.
Here, higher belt probably means purple and up.