The DMS Software Reengineering Toolkit is a customizable program analysis tool with a production quality C Front End.
It parses C, builds ASTs and symbol tables, provides control and data flow analysis, and constructs global call graphs, and has points-to-analysis. It can be customized to extract this information; in fact, we delivered a custom DMS-based tool to a large vehicle manufacturer to build a tool to extract almost exactly this information.
If you stick to just the symbol table information, you can extract "directly reads or writes" as in your example. If you use the call graph information, you can discover reads or writes to globals caused by calls to other functions. If you use the points-to analysis, you can discover (conservatively) reads or writes to global variables via indirection.