Why does OS X insist on spinning up all external drives when loading a file from the local drive?
Solution 1:
If by "access" you mean perform I/O operations on a file, then that should not be happening. If by "access" you mean that you're bringing up the standard Open/Save dialogs, then you are actually hitting those filesystems whether you realize it or not.
Solution 2:
Sadly the operating system automatically presents all possible data sources which does not work well for externally attached media that is not accessed regularly.
It's kind of like looking at a car at a dealer. You can either take the dealers word for it that there is a blue one out in the lot or you can walk out there and take a look yourself.
I have questioned this with Apple support and been told tough luck.
One day maybe they will have the intelligence to a only present possible data sources initially rather than actually probing all available devices which causes them to spin up.
The problem will pretty much go away with solid state drives which have almost instant on access.
Solution 3:
My guess is that it's not the file-read itself, but related actions. Maybe it's querying available disks (in case you want to Save As), or checking references to recently-used files, etc. Essentially the software is doing a lot more in the background than "loading the file you asked."
I'll admit I don't know anything about Caffeine, but maybe since its purpose is to stop things from going to sleep, it's intentionally waking up the HDs?