Possible to estimate next difficulty based on terahashes? Here is what I have estimates on: There exists hardware capable of 60 gigahashes per second. Over the next few months, X amount of these will be mining bitcoins.

Difficulty is recalculated every 2016 blocks.  X * 60,000 megahashes = Y terahashes to total mining.

At current difficulty it will take a machine calculating at 60 gigahashes about 3.6 days to solve 1 block. With just 700 of these machines each solving 1 block every 3.6 days, difficulty will be at Z within a week, where difficulty is then recalculated to even out the time period of solving blocks (if I understand correctly).

The variable I have is about what the implications are of the algorithm for difficulty. Is it intended for there to only be a finite number of blocks solved in a certain timeframe?
Is it intended for there to only be a finite number of blocks solved
  in a certain timeframe?


Yes.  The intended rate is 1 block per 10 minutes, which is 144 blocks per day, which is 2016 blocks every 2 weeks.

To estimate the difficulty, flip around the "time to generate a block at a hash rate" equation

difficulty=((Time for a block to be found in seconds)*(hashes per second))/2^32

Where the time is 600 and the hashrate is whatever you want.