1) They already do, it's true there are some ISP's out there that are actively limiting traffic to Google services, having said that this is almost exclusively their YouTube content. When the same limits are applied for Netflix they are much more damaging as users are actually paying to watch that content, where as YouTube it's free, so it's annoying for the customer but their not really wasting money on a service that they can't use.
2) Caching; both Youtube[1] and Netflix [2] offer free on-site caching services for their video content.
From personal experience the Google cache is very effective at reducing traffic in your core network. It seems that even though Youtube has thousands of Videos in it's library the majority of traffic at anyone time is probably going to a very small selection of this total library, and therefore you get an excellent caching hit rate with only a few small servers.
Netflix on the other hand has a bigger problem, their library is also huge however users randomly select what they want to watch and they have to pre-transcode videos into hundreds of different formats for all of the possible devices out there, meaning they have loads of copies of the same film in different resolutions and formats. For the ISP this means you have to have a fairly constant stream of data coming into your network from Netflix just to keep the cache updated, not so effective especially for the smaller ISP's.
[1] - https://peering.google.com/about/ggc.html [2] - https://signup.netflix.com/openconnect
http://www.measurementlab.net/ (Google is heavily involved)
http://www.google.com/get/videoqualityreport/ (although this page's "venom" has been taken down in recent years)