Laser based distance measurement
Here is an answer that I gave to a similar question someone asked a while back. People are right that using time of flight with a PIC will not work.

Also, this caused confusion last time, but we mean different things by accurate and repeatable in metrology. It is illustrated in the diagram below:

Simply put: repeatable systems produce the same result with multiple measurements. The offset can be calibrated out. 


  In general such systems do not use time of flight measurements, at
  least not directly. Light is just too fast for current systems, if you
  want better repeatability than a few meters for a cost effective
  system. There are a few things you can do: geometric measurement,
  interferometry, modulation. 
  
  The simplest thing you can do is to use triangulation. This is how the
  cheap distance measurement equipment used in construction works. You
  shine a beam, it reflects, and you pick it up from a different sensor
  near the receiver. Measure the angle, and you can get a relatively
  coarse repeatability in the 10's of mm range. 
  
  If you need better repeatability, you can use interferometry. You
  simply measure the difference in phase shift. This can get you to um
  repeatability. The problem here is that the wavelength changes with
  atmospheric conditions e.g. 0.1 K rise in temperature generates a 1ppm
  change. You need to compensate for temperature, pressure, humidity
  etc. Furthermore, this will give you incremental readings. You need to
  combine this with the former method. 
  
  A relatively new method is to send a modulated waveform. When you
  receive it back you can use the fact that you know its shape. This
  then reduces to an optimization problem. A convex optimization problem
  to be precise. The main disadvantage here is that there is a
  relationship between bandwidth, and time: the uncertainty principle.
  But you can get very accurate results.