In Node, just like in all Javascript environments, the container that stores variable names and their contents is called the Lexical Environment. Each block has such an environment. When a variable is referenced (to assign a value or retrieve a value), the interpreter checks to see if such a variable exists in the current block's LE. If not, it looks to the LE in the next outer block, and so on, until it finds a matching variable name, and then it retrieves or sets the value as desired.
This container is completely internal to the engine, though - you can't explicitly interact with it via JS except by referencing variables. It's not a Javascript object.
Lexical Environments and Environment Record values are purely specification mechanisms and need not correspond to any specific artefact of an ECMAScript implementation. It is impossible for an ECMAScript program to directly access or manipulate such values.
It's not something particular to modules or Node. For example, with the following code run in a browser:
(() => {
const a = 0;
})();
There's the outer environment (the top level, which is global), and there's also the inner environment, and the a
variable name is contained in that inner environment.