Question on simple multidrop I2C application and porting to custom board

Multiple questions in one post... hope that is ok. I'm a complete noob. Ground zero.

I am experimenting with making a distributed control setup. I'd like to have a host / master issue a command to a remote / slave device via I2C comms. This slave device would either turn on or off a PWM signal, and monitor it's environment for a single bit state change.

Once it sees the state change, it reports back to the host the state change.

Questions :

1) Can an I2C slave device initiate communications on I2C bus? Or does it have to wait to be polled? 2) I'm trying to figure out a way to use the I2C bus to communicate over a distance of 30' with as many as 6 I2C drops on the bus. Is there a means for decreasing the data rate of the I2C interface? I am good with a rate as low as 1kbs. 3) Finally, I need to build multiples of these systems, and would like to be able to port this to a small custom board with a minimal BOM. I'd like to have an ATMEGA328, a regulator, and perhaps some external pullup resistors and decoupling caps. Is there an easy way to port the R3 board code directly to a bare bones processor?

Sorry... still trying to get up to speed on the Arduino system, I'm an analog guy and not a processor guy so this is more than a bit of a challenge. Seeing some mid-school kids use these has bolstered my confidence. We'll see how that goes!