He makes it sound as though this isn't particularly difficult or expensive. Does anyone want to speculate on the method he is using to compile this data? For his zipcode database he seems to be running mass queries on the Google Maps API.
Simply doing mass WHOIS queries to the regional registrars only gets you data about the corporate headquarters of the ISPs, which I suppose could be enough depending on the level of granularity that is acceptable to you.
(presently a similar question on his forum, posted by someone else, is unanswered: http://blogama.org/node/105)