You are asking a couple of questions here.
Firstly as far as I know Yahoo and Google are the only companies that offer free CDN hosting for JavaScript libraries.
Secondly, the thing that will hurt your page performance is excessive DNS lookups. It's about balancing the cost of a DNS lookup vs. the difference in speed of a CDN compared to your local server. Normally the difference between the CDN and your server is enough that it's definitely worth getting your common library from the CDN.
In an ideal world you should use as few hostnames as possible. You should be aiming for 1 HTML page from your server, 1 Javascript from CDN and 1 CSS from CDN. If you can't afford your own CDN access then 1 HTML page from your server, 1 Javascript Library from CDN, 1 Javascript file from your server. 1 CSS library from CDN and 1 CSS file from your server is fine. That's still only 2 hosts. The performance guidelines say 2-4 is your ideal.
In terms of using S3 as a budget CDN you should compare the speed of getting a file from S3 and your own host to evaluate if that is worth while. It's extremely important that any CDN you use only has 1 hostname. So if S3 redirects requests to S3.1.amazon.com and S3.2.amazon of whatever it wouldn't make a good solution.
I hope that helps.