Yeah, with something like this, binary is probably bad... it would load a little faster, but debugging becomes a bear. Most of my RL work deals w/ parsing massive text files, mostly in Perl.
I think part of the problem is not that missions (and the other .tbl files) are text, it's the syntax... the parser ends up being way more complex than it needs to be. It's been one of my pet peeves from the beginning (some strings are quoted, some aren't; some lists are space-delimited, others have commas, etc). Don't even get me started on the # $ + leading characters.
A more regular and orthogonal file structure would not only make the parser faster, but the parser code would be smaller, more robust, and more easily extensible.
Contrast this with the sexp structure -- it's LISP-based, and is about as clean and simple as it gets. So it's easy to parse, fairly easy to read, simple for a machine to generate (from FRED or whatever), and it can be extended without breaking anything else. I wish they used a LISP-like syntax for all the TBL stuff.