I don't understand: Why do you assume that password checkers keep their lists in alphabetically sorted form rather than just to load the whole thing into a db table with an index on it?
All you've done is shuffled around the most frequent cases to the beginning, which is great if that's what you are looking for, but now something else occupies the last slot and that case is just as bad as before.
The real solution is to see these files as input to an indexed table so that you can get to the entry you want in log(n) time.
Well, that's pretty much how one would try to crack a password using a wordlist.
EDIT: If the goal is to crack a bunch of properly hashed (PBKDF2, scrypt, etc.) and salted passwords then a lookup table is not very practical.
That's not why these lists are made public (though I can appreciate the fact that they are 'dual use').