Node Domains.
This is an old question, I realize that, but none of the answers are completely correct.
The truth is that you can achieve this functionality by using Node Domains.
Global variables are generally considered bad to use because they break encapsulation and a properly encapsulated application is the first building block to a good design because the application will be easier to read, test, and refactor.
That being said I, I have personally come across many good use cases for using global variables within the scope of a single request.
Example
Tracking a single request through many layers of code becomes impossible without this, unless you expose your request (or req ID) to layers it just doesn't belong. (i.e. Service, DAL, etc... keep your request in your controller were it belongs).
Basically, Passing variables through many layers just so that they are accessible at the lower levels of my application is unsustainable and makes code very messy.
Before you start screaming, yes I am aware that Domains have been deprecated as of Node 5, and I am also aware that this is not the exact use case for Domains as it is documented. But the Node is finalizing a new API now, that will hopefully continue to solve this issue.
https://nodejs.org/api/domain.html