Yes, two 74HC595s. Shift 2 bytes into them, and use the same 'latch' signal to both so all 16 outputs update at the same time.
On the other hand, using Direct Port Manipulation, for example:
PORTC = B00001111;
PORTD = B11001100;
would only have tens of nanoseconds difference, or nearly simultaneous.
What is it you're driving?