I keep trying to write a full post on this, but get discouraged by the magnitude of the task.. As a placeholder, here's a short response, provoked by this article.
If there were a skills shortage, then IT salaries would be increasing, not decreasing.
There is also no actual data to support the contention that there is a shortage of trained people. See the Business Week review of the data.
So what the executives call a 'skills shortage' must mean something different. I suspect this means 'short-term shortages of engineers with specific technical skills in certain industry segments or in various parts of the country', as the second article above notes. That is, the executives find it inconvenient that they cannot snap out a C# engineer and snap in a Cobol one, or vice versa, as their needs dictate. My sympathy is limited.
The answer is really as simple as Sandra outlines in the first post - invest in technical staff, to get them the training they need to acquire the skills. The mainframe is not a mythical beast, with its habitat and behaviours shrouded in mystery: it's well-documented and easily learnt. It's the attitude to technical staff that classifies them as interchangeable parts, which produces the appearance of the 'skills shortage'.
Of course required reading on this is Dr. Matloff's investigations.