Effectively the way that you do that is to set the allocation method for the shares to be "Most Free". There's no real way to do it otherwise, but with "Most Free", the system will wind up balancing itself out with the episode files all stored on different disks.
Last access time is disabled by default in unRaid (and many other OS's), as keeping track of that massively slows down file I/O. But, you can look at the Mover Tuning Plugin (in Apps) which will let you selectively move based upon the "age" of the file (creation date)
No. The point of the cache drive is to speed up writes, not reads. It was really necessary way back when drive transfer rates on spinners were pathetic compared to now. Nowadays, hard drives can easily keep up with multiple simultaneous reads on the same file (streaming the same file to multiple devices) Many people (including myself) don't even bother with using the cache drive as a "cache drive". Rather they set all the shares to not use it, and relegate the cache drive to being an "application" drive -> data for docker applications, VM's etc