Is it possible to use the records a standard Salesforce report would generate in a Visualforce page or class? Is see that there is an api to query for report metadata, but is there a way to also get the records that is would generate as well?

We have a project that requires us to be able to make complex queries for a subset of records and then create reports detailing the field change history. I know that SF is very limited in how it can report field history so I'd like to at least be able to query for the records on separate object types and send those records to a custom page that will query the history for each of those records and process them for custom reporting.