Timing to a resolution of 100ns requires a timer running at 10MHz. Many microcontrollers should be capable of running a timer that fast.
The problem comes when you are trying to time the arrival of 6 signals. Are these signals all on the same wire, or each on a different wire?
If they're all on the same wire, then is might be possible to do this accurately on any MCU with a single 10MHz timer. Naively, the code to do this would look something like this:
wait for trigger signal
reset timer
wait for first signal
save timer value
reset timer
....
wait for sixth signal
save timer value
reset timer
The problem is that it takes a finite amount of time to reset the timer. This causes two problems:
The times measured would be wrong by a few 100ns, depending on your implementation. However, they should be consistently wrong. I.E. wrong by exactly the same amount every time. This means you can easily compensate for it by adding a small amount to each measurement.
There would be a minimum time you could measure. If the any pulse arrived 100ns after the the previous one, then you'll probably miss it. I don't know if there's anything you can do about that on in software. You'll have to find a microcontroller which can handle multiple pulses in hardware.
Which microcontroller can handle multiple pulses in hardware? The Cypress PSoC! This is a microcontroller which also contains configurable digital blocks, meaning you can easily have 6 separate timers running, each at 60MHz, giving you a better than 20ns resolution.

Here's an example I knocked up quickly to show you the sort of things you could do with it. I've got 6 separate timers, all running off the bus clock, which can go up to 67MHz. There's a trigger pin which starts all of the timers running, and 6 other pins, each of which causes a capture event in the timer. A status register allows your code to monitor which timers have captures a pulse. The code can read the values out of the timers.