You can get the latest constituents list S&P here: http://www.standardandpoors.com/indices/sp-500/en/us/?indexId=spusa-500-usduf--p-us-l-- Under 'Index Constituents' For the actual daily data, you get download the historical EOD data from many free sources such as yahoo( under 'Historical Prices'). Automating the yahoo download is easy and some free tools already exist.
Historical additions and deletions in the index.... Companies are regularly added and deleted from the S&P 500, therefore I can't properly backtest against it without taking into account these changes.
Oh, you mean survivorship bias. The changes of course can be found on the S&P website. For the data, here is a quote/link from another user: "CSI (http://www.csidata.com/) claims they never delete anything from their database, making it the only service I know of available to individuals. I have used their commodity data but not their stock data."
The latest member changes (10/2009+) can be found on the S&P website at S&P 500 Index Announcements. For changes before 10/2009, the S&P no longer posts the file on its website, but I have attached a copy I had on a backup to this message (csv file).