You mentioned having tried Cross Browser Testing before, so before I go into "roll your own" solutions, just be aware that there are several other (older) services, my favourite being Browser Shots.
That being said, what you've described is entirely possible, although it will require some programming knowledge to accomplish. Regardless of the programming language though, the application should follow the same basic "algorithm":
for each url in url_list:
for each browser in browser_list:
launch_browser(browser, url)
take_screenshot(filename = date & browser & url)
terminate_browser(browser)
Lately I've gotten into Python, and while any other language would be acceptable here (I'll assume your platform is constrained to Windows given your want to test the sites in IE8/9), there are several existing Stack Overflow questions which should be more than enough to get you on your way:
- Automate firefox with python? (you will need to find some way of controlling the browser with Python; at minimum though, I believe you can simply invoke the browser executable and pass it a URL as an argument, bypassing the need to do this at all [except if you need to take multiple screenshots of a page, because scrolling might require browser-specific control])
- Get screenshot on Windows with Python?
- How to get a website screenshot in python (more useful just for concepts, as some of these solutions use a rendering engine from Python itself, e.g. WebKit)
autohotkey
can help.