Add a space after md5sum. The <(...) construct creates a temporary file, in your case /dev/fd/63, and is substitued by the name of that file. Without the space, the temp file name is "glued" directly to md5sum, hence the error.
Reference: "The process list is run asynchronously, and its input or output appears as a filename. This filename is passed as an argument to the current command as the result of the expansion".
But this appears overly complicated to me. Why not sort ./directory/text_file.fastq | md5sum?