iOS has an accessibility feature, which I leave on, that will read highlighted text. I often open websites in the reader mode and choose the speak option to have them read to me. I'm guessing that opening the PDF files in GoodReader on an iPad would give you the TTS & annotation features that you want.
Also, for ebooks in iBooks, you can use voiceover:
iBooks can read PDF files as well (though no annotation), which might also give you TTS (though I don't have my iPad here, so I can't test it)