Frankly I am a newbie in both C# and Asp.net MVC. I also do not know how the asp.net web application actually works on IIS and ASP.NET framework behind the scene.
I
You should go with the second option. ie declare and use it in the controller. If you put the DBContext as a static field in global.asax, you are basically making it a single instance for the entire application.
On the other hand, with the second option you have a DBcontext for each request. It would be better if you can use a dependency injection to get the DBContext in each action method.