Just to answer this in case someone searches for it (we talked about this on the phone)
The solution I came up with was to build a constructed list in the order that the items were ranked using the MaxDiffRankAttValue function, i.e. ADD(Parent_List,MaxDiffRankAttValue(Exercise_Name,1) would add whatever item is the top ranked item. Do this to add all of the items in their rank order. Then use the REMOVE() function to remove the items that don't belong to your subset. The net result is the subset of items in rank order, where the first item of the list should be the top item of that subset.