Arduino to CPLD to toggle an LEDs using I2C
You'll have to begin with detecting the start condition: SDA going from high to low while SCL is high. This should reset your I2C logic.  



Then shift in 8 bits (count them) and after the eighth bit is received compare the address with the CPLD's address (the first 7 bits). If they match pull SDA low until the next clock pulse. Don't forget that this should be an open-drain output! 

The eighth received bit was the \$\mathrm{R/ \overline{W}}\$ bit, but you probably only want to write, then either ignore it, or don't acknowledge if the bit is set (indicating a read operation).  

If the address matches wait for the next byte. Again shift in 8 bits, and acknowledge after the eighth.  



This should complete a transmission, and when you detect a stop condition (SDA going high while SCL is high) latch the eight received data bits.

Further reading
I2C specification