I2c data encoding - Synchronise many arduinos

Since I am a beginner I don't even get how can I use a digital I/O to synchronise my arduinos. Would they be able to have shared clock?

Make all slave Arduinos listen on the input where that signal line is connected. On a rising/falling edge (whatever you prefer) store the current value of millis(). From now on our time reference is millis() - stored_value. Voilà, you have them synchronized.

And can I be sure that they will function in the same speed?

That depends on the type of Arduino used. A Duemillanove uses a crystal as the clock source (differs at a few part per million) while an UNO uses a ceramic oscillator which differs at a few parts per thousand, so it's about a factor thousand less accurate. What are you using?

How are the original sensors (the ones you're trying to simulate) synchronized? How many sensors are typically in that network?