Technically, yes, you can cut off a deflate stream at any byte, and inflate will be able to process up to your last byte and decompress whatever it can get out of the provided partial deflate stream.
However that is not a good idea, since a) you lose the integrity check at the end of the stream, and b) you have the additional job to figure out where the uncompressed data ends so that you can send the rest of it in another packet, I presume. The only way to do b) would be to replicate the decompression process on the compression end.
Alternatively you could use fitblk.c, which does three deflate passes to construct a bona fide deflate stream that fits in a fixed size output block.