Does such a thing exist? We need weekly and monthly contracts for SPY, DIA, QQQ, IWM etc. We are attempting to automate our backtesting system, so the next question would be is there even a system available that can take said data and search through it based off of our commands?
Yes, of course. For a price. In terms of full-feed data, I've used the NxCore data and think it's a great system, not the least because their historical data are in the same format as what they can feed you in real-time. I'm sure you can get the historical full book from each exchange as well, although that will probably cost you significantly more in data fees and dramatically more in development effort. There are certainly other alternatives, too, such as TickData, which I have not used but seems popular. I'm sure a web search would turn up others, if none of those meet your needs.
I'll second @Occam 's suggestion. As someone who has spent countless hours trying to acquire this sort of data on the cheap, just take my word for it and pay it forward by buying the data. There are very few strategies that NxCore data won't be suitable for.
In addition to NXCore here are some vendors where you can buy or rent the historical options tick or OHLC bar data: AlgoSeek.com : Buy it. See www.algoseek.com/options IVolatility.com : Buy it. See www.ivolatility.com QuantGo.com : Rent it. See www.quantgo.com TickData.com : Buy it. See www.tickdata.com/historical-market-data-product/historical-options-data-prices/