Just in case someone goes down my route - Bhavcopy gets you all the data but also gets you quite a lot of gotchas. There is missing data for somedays. And when the tickers change the data ends and starts in the new ticker so you need to know when the ticker changed happened and what is the old vs new ticker. I am getting data from a provider now.
2) Which data provider - do you get adjusted data without survivor bias ?