Trying to find out what changing the maximum possible CPU frequency when on battery power I realized that what I need is a tool that can monitor access to a particular file and log the PID of process that is making that access. It should work on virtual FS such as proc, otherwise it wouldn't be useful to me.
Commands from the audit or the inotify-tools package can track file access. See my answer to a very similar question: Unix - Historically who all opened a particular file. Most answers on that question answer your question. I'd have considered this a dupe, but the OP seems to have had a different requirement in mind in asking that question.
Update: These commands might not work as you expect on /sys as it's a pseudo-filesystem.