Reading and merging multiple data files
Looks not too bad, it's readable enough.  The use of with is good (except for writeOutput, where it's not used for some reason) and the code is split into separate functions by functionality.  That said:

Stylistic


You should read and follow PEP8 (naming of globals, functions,
variables, whitespace, no need for semicolons).
You don't need those globals, just return values from your functions.
Maybe use docstrings instead of comments if you're describing the
functionality of a function.
Create more functions for common code.  If you copy and paste
something is wrong (usually).  That applies to all the reader functions, as they share the line splitting and accumulation code.
The try/except blocks in joinOrders aren't good.  Exceptions
aren't for control flow (usually) and you're better off using a
different approach for better understanding (where could the exception
be raised from) and maintainability (if you move the block or change
things, does the exception still only apply to the part you originally
wanted too, etc.)


Design


You might be better off using the csv module with custom separators
to read the files.  Even as a beginner it's a good idea to use
libraries to make your life easier.
The double splitting in the read functions looks unnecessary, but I'm
not quite sure.
Why the weird truncate?  It's normal for text files to end with a
newline.
Unless you're not concerned about speed the list concatenation in
joinOrders isn't the best idea.  Creating the set from custInfo,
then calling update on the set would be better to avoid unnecessary
allocations for the list.
Use iter* on dictionaries, lists, etc. for efficiency if you only iterate over the elements.  Here that would be iteritems instead of items.


Overall the split into input and output makes sense and I wouldn't worry too much about efficiency at this point (unless you're processing huge amounts of data that is).