In principle, it sounds like a pretty nice idea, but in practice it can easily become too complex; in the case of having like 3 attributes whos' options combine to form many many permutations of models, how can we sort based on option weight in this case?
BTW, as of 2.x, a new function has been added: uc_product_get_models() it is used in this spot and others, and its result array is sorted alphabetically.
