<p>I have got 3 text files (A, B and C), each with several hundred email addresses. I want to merge list A and list B into a single file, ignoring differences in case and white space. Then I want to remove all emails in the new list that are in list C, again ignoring differences in case and white space.</p>

<p>My programming language of choice is normally C++, but it seems poorly suited for this task. Is there a scripting language that could do this (and similar tasks) in relatively few lines?</p>

<p>Or is there software already out there (free or commercial) that would allow me to do it? Is it possible to do it in Excel, for example?</p>

The fastest way to do this probably wouldn't necessarily require coding.  You could import files A and B into Excel in one worksheet, then (if necessary) do a filter on that resulting list of addresses to remove any duplicates.
The next step would be to import file C into a second worksheet.  In a third worksheet, you'd do a VLOOKUP to pick out all the addresses in your first list and remove them if they're in your "List C".
The VLOOKUP would look something like this:
=IF(ISNA(VLOOKUP(
email_address_cell
, Sheet2!
email_duplicates_list
, 1, false), "", (VLOOKUP(
email_address_cell
, Sheet2!
email_duplicates_list
, 1, false)))
I've also included a check to see if the formula returns a "Value Not Available" error, in which case the cell just shows a blank value.  From there, you just need to remove your white-space and there's your final list.
Now having said all that, you could still do a VBA macro to do much the same thing, but perhaps clean the lists up a bit, depending on what you need.  Hope that helps!