theoretically, you could make an estimation by using the formula:
The expected number of hashes we need to calculate to find a block with difficulty D is therefore
D * 2**256 / (0xffff * 2**208)
That could be found on page
https://en.bitcoin.it/wiki/DifficultyThere's even an example written on this page

OFfcourse, it'll take a lot of grunt work... You'll have to find the difficulty for every batch of 2016 blocks, then calculate the number of hashes to find one block (and multiply by 2016), then do this for every group of blocks per retarget period.
For what you said was correct, to compute the total numbers of hashes required to mine a certain no.of blocks, you are
oblige to find difficulty for each batch of the blocks.
Just compute the number of hashes that required to find once block at that difficulty, and of course multiply this
number by the number of blocks for every batch. This is actually time consuming and computationally intensive task
anyway.