Timing diference 2 input pins

Current idea:

I being wondering if I could use the Arduino to build a project requiring some very precise timing.

The idea is that I want to use a Arduino (or many Arduinos) to tell me the time difference between a pulse received on 2 input pins down to the microseconds.

I have successfully used Pulse in as an "interrupt" to make a frequency counter, so I'm thinking some kind of Interrupt might work to do the time stamps, but I don't know how precise I can make it with an Arduino.

Long term project:

I'm trying to build some timing units that are "extremely" precise. The idea is that I use GPS time on both units that are linked over wireless UHF Serial Link. I also use PPS (Pulse Per Second) from GPS for better precision on both units.

One unit will be set as a Master, another as Slave. Master will decide an event time Ex. (in 3 seconds do an event) and so both are set to do so and when the time comes both units event at "Virtually" the exact time. The Arduino in question I'm working on will be showing the time difference between the events so that adjustments can be done using very precise Oscilloscopes.

My main question really is that I want to know how precise I can get the time difference of 2 pulses on 2 difference input pins, and if the Arduino is not capable of doing it, what is?

I dont know about multiple pins but @ 16mhz you get a resolution of 4 microseconds