Looking at table on http://msdn.microsoft.com/en-us/library/y1z022s1%28v=vs.80%29.aspx#_core_collection_shape_features
I can not see a MFC collection for the purpose I n
When you say 'Ordered' you are already indirectly implying that 'order index' is the 'key' which is unique. Why can't you use std::vector?
If you want to have another unique key than you can use std::map but you will have to improvise 'order' as part of the key/value combination. I see the ultimate solution will be something composite. You will have your own class to support what you want which in tern may std::map to implement this or any other contain like list.