Perhaps have a binder for each set of cards ("free cards" and "higher end"), and have one of each card in the two binders. Then each binder will have a corresponding box which players can look through to find the cards they see they want when looking through the binders. The boxes would not necessarily need to be sorted as it is very difficult to maintain sorted boxes that are constantly being looked through.
As long as you kept the "free" binder/box and "high end" binder/box on separate tables, you can hopefully avoid cards being put back in the wrong box.
I would sort them by set in the binders (so you can just add pages at the end when a new set comes out) and the boxes won't be sorted anyway.
So upon thinking about it, I think I might have come up with a way to do this with minimum effort (beyond original set up).
Section 1: Free cards split based on type/color all in one binder so new players can look at every card available
Section 2: All non-free cards that are before EC. Basically the "thin" cards. This one might have stuff removed as the newer stuff gets better and makes the older stuff not needed.
Section 3: EC and later, split by set then by type/color, because I've noticed that is easier for my younger players who want to make a certain type of deck. They don't want to see all the stuff they don't want to use just to find the stuff that might help them.
So section 3 would look like: EC Clay, then PC Clay, then CoW clay, etc. That way it stays in color, but I won't ever have to sort it again.