@Nick Gammon and @PaulS thanks for your reply.
What do you mean? A slave will respond to a request from any master, and you can have more than one master.
I thought, I wouldn't be able to ask for 2 different kinds of data packages. But thanks to your example on your link (@Nick Gammon), I now understand you can have your master ask for specific data and let your slave answer accordingly.
Now reading that link, I came across this:
It isn't currently mentioned in the documentation, but the internal buffer used for I2C communications is 32 bytes. That means you can transfer a maximum of 32 bytes in one transaction.
It also isn't particularly clear, but the functions Wire.beginTransmission and Wire.send don't actually send anything. They simply prepare an internal buffer (with a maximum length of 32 bytes) for the transmission. This is so that the hardware can then clock out the data at a high rate. For example:
I have to send about 96 bytes, now what? do I have to split up? 3 x 32 ?
or maybe I could ask 3 times for M1, M2 and M3 and use buffer where M1 is buffer[0 till 31], M2 is buffer[32-63] and M3 is buffer [64-95]