It would be possible if there was software that individuals would be willing to run on their local machine. The software would pull the peers from the bitcoind client and then report the peers to a central server.
Another seemingly impossible idea was tracking all boat traffic in a given area. Look at http://marinetraffic.com/ais/.
marinetraffic.com is possible because there are land based receiving stations that relay the ship's AIS information to the internet. It's a similar approach to the problem.
This is an important idea. IPs will be collected anyway by private parties or government agencies, for various reasons. Providing a publicly accessible, open-sourced service would at least eliminate unfair advantage of such parties over others by making the information public.
this is why bitcoin client bitcoin.conf so you can exactly what sources it can connect to and not connect.