Hi Mike,
it would be better knowing, which MySQL version you talk about, though, in this case, the difference is small. I looked into the 4.1 code.
Unfortunately, if the file is bigger than the cache, the earlier read pages are evicted from the cache in the order as they are read. We might improve this by evicting leaf pages first, but this does not happen yet. You may add this to your feature request, if you like. See below.
The other thing is a nice feature request. You may want to enter it into our bugs database, marked as Severity 4, "feature request" on
http://bugs.mysql.com/. However, it may be that there exists a similar feature request already, but I am too lazy to search for it now. :) Just enter yours and wait if it gets marked as "duplicate" or so.
Regards, Ingo