This is a pretty tough criteria as in USA, there are only nine cities that have over a million people (based on 2012 census). The cities are; New York, Los Angeles, Chicago, Houston, Philadelphia, Phoenix, San Antonio, San Diego, and Dallas.
My guess is only NY, Chicago, and Phoenix have courses built within 20 miles of the city center over last 25 years (other cities have too much sprawl to have something built that close). At most, we are talking about 10 to 20 courses that would qualify the first criteria (even before considering "greatness").