Here are a couple of suggestions:
Did you get the examples Bill included with his Library to work? That would be my starting point. Once you can reliably send data from the master to the slaves, it should become easier to control them. I'm not exactly up to speed re: what your master and slave functions are trying to do, as there doesn't seem to be any reason for the flag master to change, for example. I'd try something simple, like making each slave blink its address every time it has been addressed successfully.
Since you're using I2C, use the serial bus to debug. Print everything.
I'm not sure it's permissible to try and use the flagslave data in the if function the way you do. IMO, that && function is going to get you into trouble. You are better off reading in all the data first and then deciding what to do rather than make decisions based on data that you may not have received yet or that may be changing while it is being received. IIRC, the Arduino reads the data in one byte at a time, not the whole message.