How can I take schedule information from multiple (40+) Microsoft Project files and create portfolio dashboards and reports. Specifically, I'd like to see Gantt charts for all projects in a stack.
Since this hasn't been closed yet I'll try and answer based on the limited information.
There are two ways you can do this. You can get a Project Server setup to manage this information for you, and even go as far as to have a Sharepoint Server pull this information and display KPI's and all the pretty bells-and-whistles on a Sharepoint Site.
If Project Server and Sharepoint Server are out of your reach, you can do this manually by making a Master Project within Microsoft Project. Once the Master Project has been created, point yourself to the "Project" tab and subproject out all the projects you want to fall into the Master Project for a dashboard view. Make sure that the projects are linked content-wise. As long as you do not change the location of the project or files once these have been subbed-out - you can edit and manage all of your projects from the Master Project and it will update and save the subprojects for you.
Here's a Quick Tutorial: http://www.kodyaz.com/microsoft-office/create-master-project-subproject-microsoft-project-2010.aspx
Frankly speaking 40+ projects will be a lot as MS Project will struggle to load all of them at once and then do any operation on master project plan.
Off course it all depends on the size of the projects. I have done dashboard reporting for around 6 - 8 projects and have struggled with standalone MS Project as it sometime crashes for no apparent reason.
MS Project has some reports which can be customized to use to have a look at - http://www.techno-pm.com/2015/01/portfolio-reporting-msproject.html.