You can find both of these in g_main.c.
The global variable game is used to carry cooperative spawn points and the array of clients.
Level is used to hold level specific information like number of monsters, secrets, killed monsters, etc.
g_edicts is an array of game entities. The first entities in the array are reserved for use by clients. They are "max clients" many and they all have a link into the "game.clients" array, where the clients' gclient_t data structures reside. All entities in use has an inuse flag set and are linked together as a list. This improves performance when the DLL iterates through active entities and when the DLL is reusing unused entities.