Serial readbytes behaviour

I suggest that all your data starts with a start-character and ends with an end-character.

Example 3 from The Serial input basics from robin2 use
"<" as the start-character
and ">" as the end-character

So a message looks like this < HELLO >
or your example < abcdef >

If you use start/end-characters they offer some checking if a valid message was received
(of course not the same as CRC)
The length of the message can vary because there is the start/end-character to indicate just what their name says

best regards Stefan