I2C Addressless communication

Your problem arises from the fact that an I2C slave does not receive the address it listens to and reacts to from the master. The slave determines which address it responds to. It's actually almost like us humans. After the parents (manufacturers) have given us a name, we listen to this name. There are sensors that can be used with the master to give a new I2C address, but not without knowing the original address. this is the only way for the sensor to know that this new address is intended for it. You can of course describe an Arduino with an I2C slave program that also offers the option of logging in to the I2C bus with a new address, and from now on listening to this address until the next change. But the fact that the Arduino as an I2C slave reacts to any address, every time different, should not work, as this is contrary to the I2C protocol. something like this only works on a bus that does not select the desired receiver / sensor / actuator with transmitted addresses, but with chip select / enable lines.