Hi,
1) Sure, when watching a replay, the SC2 game engine can and does calculate all the info that is missing from the replay.
2) The GameStatus is an enumeration of possible game statuses which Sc2gears can detect, for example whether there is a game in progress. In Java enums have predefined methods, the values() and the valueOf() methods are examples. The values() returns an array of all values of an enum type, the valueOf() returns an enum instance from its string representation.
3) You can extract actions from any number of replays. Select all, right click in Sc2gears and choose "Export actions". This will write out textual representation of actions into text files next to the replays (but with .txt extension). Or you can write a plugin which can go through all replays, parse actions (the API parses the actions), and process them, do whatever you want with them.
4) I am not an expert of extracting "missing" data from the SC2 memory why a replay is being watched.
You might also wanna check out S2GS files. These files stores the data you see after a game on the score screen. These might be very useful to you.
These can be gotten semi-automatic. If you read through that thread, you will know how to.