OK, this may be the root of your problem, which it seems was added when everybody went from locate to slocate as default...
(from updatedb.conf man page)
Unlike the traditional behavior of PRUNEFS and PRUNEPATHS, which excludes the matched directory (or the root of a matched filesystem) from the created database, the matched directory is entered in the created database. This allows e.g. locate /tmp to find the standard temporary directories even though their contents are excluded from the database.
So, even though the contents aren't being indexed, slocate would still like to know that something
is there, even though you won't be able to find anything that's on it.
hmmm... That's exactly counter-productive in terms of power saving.
Have you tried mlocate
instead? It's a intended as a replacement for locate and slocate and is a (almost) total re-write so there's no (well, maybe a little) recycled code and it performs the indexing differently, which may help the problem if not eliminate.
It's been piled in as the slocate replacement in Fedora and Arch linux (so if you are running either of those, you're already there)
Some discussion of slocate-mlocate-rlocate here
I'll keep digging...