I2C: Is a repeated start between different slave addresses legal?
The repeated start condition was added to the specification to allow a master in a multiple master setup to keep control over the bus while initiating a new operation. It does work in a one master setup as well, as can be seen on page 9 of the specification: the repeated start condition is described in a general description, so it works for both modes. Also, after a repeated start condition the address is sent again, so it should work when changing the address as well.

However, it is not very common, so some slaves (I've never seen one though, but Michael Karas has as stated in his answer) might expect a stop condition, which might cause problems when omitting the stop condition. I therefore would recommend you to include the stop condition just to be sure, although your implementation wouldn't be 'wrong' following the specification. A stop condition doesn't cost that much time.