We study the problem of finding zero-error instantaneous codes for the Slepian-Wolf configuration [1]. By a zero-error instantaneous code we mean two encoder maps f(1) : X --> {0,1}*, f(2) Y --> {0,1}* and a decoding algorithm which, for any pair of encoder outputs f(1)(x(1))f(1)(x(2))f(1)(x(3)) and f(2)(y(1))f(2)(y(2))f(2)(y(3)), can correctly determine x(1) and y(1) by reading only the first length (f(1)(x(1))) bits of the X encoder output and the first length (f(2)(y(1))) bits of the Y encoder output. For /X/ = 2, we find a necessary and sufficient condition for the existence of a zero-error instantaneous code with a given set of codeword lengths for Y. Using this condition, we derive an upper bound to the minimum expected codeword length for Y and construct a simple example showing that the coding scheme proposed by Kh, Jabri and Al-Issa [2] is not optimal in general, and more surprisingly, the optimal code may violate the "Morse condition" that the more probable of two symbols never has the longer codeword. For /X/ = 3, we find a necessary but not sufficient condition for the existence of a zero-error instantaneous code with a given set of codeword lengths for Y. Moreover, for /X/ 1 3, the existence of such a code is shown to be related to a rectangle packing problem.