It is probably better to get characters out of the serial driver one by one and parse the result for your special pattern. Then you can put whatever logic you need at that layer, rather than pollute the driver layer with your application-specific code. I would certainly not suggest embedding knowledge of the application-specific magic four-byte packet you are looking for down in the serial driver layer. Also, what you want to do sounds suspiciously like polling, which is typically not the best plan.
However, if there is some good reason you just need to know if the serial driver has four bytes queued, I would suggest implementing an ioctl command to do this. There is already an ioctl command IO_IOCTL_CHAR_AVAIL that tells you if at least one character is available. It is generic and works for many drivers. You could likely add IO_IOCTRL_4CHARS_AVAIL fairly easily.