Cryptographic hash functions pad the input message with some indicator of length. This is done as to avoid attacks and allows an input message of 0000 to be differentiated from 00000. As far as I can see, padding /length inclusion invariably occurs after the message data either immediately after or right up at the end of the block.
Is there some fundamental /security reason that the length of the message can't be pre pended instead? So it would go at the start of the first block. Is it somehow connected with sequentially reading in files /data of unknown length? Would it make a difference if you always knew the length of the message to be hashed?