> I don't understand that it is possible for a slave device to shorten the cycle of one sequence (9bits=Addr+RW+ACK)..Because I don't think the duration of the sequence will change even if the slave device keeps SCL low.
Your understanding is correct so far.
The number of transferred bits does not change, as this is crucial for the functionality of the bus.
If only 8 cycles are visible, it is likely that the master catched and interpreted a noise spike as clock pulse.
For clock stretching, the slave keeps SCL low when he detects clocking issues. This protracts the transfer, but does not change the sequence of logic levels.
If you have EMV issues due to switching of high currents nearby, perhaps you can reduce the I2C clock frequency further, and/or add some RC lowpass filters to increase robustness.