Okay, for one, selling 3,000,000 copies does not mean that all 3,000,000 players are on at once. Moreoever, a lot of these copies are also probably linked accounts, with up to 3 copies constituting a single account.
Two, text compression is amazing. The 3MB file that OP quoted could easily be reduced by several orders of magnitude. Also, a single number does not take an entire byte. If you do a little math, a single number should take up no more than log(base 2)(that number + 1) bits rounded up (note that 8 bits make a byte). (The 1 is there as a special null value). With actual compressing, that 3MB file could turn into a mere kilobyte or two because a lot of the mods will be the same. On the technical side, there is nothing that would be unfeasible to implement an auction house.
On the other hand, concerns with intellectual property from previous developers of blizzard are the larger matter. I doubt that anet wants to get their ass sued.
In general, load issues and even search issues aren't a very large matter. Technical issues could easily be solved. A testament to this is just how guild war runs now. If you notice, guildwars at most takes up 5kb/s while playing, even when mapping from different areas. When you sign on, it has to read the contents of your character's storage, your storage bank, characters names, armor sets, hair styles, NPC direction and more. Surely if they are able to do something like that with a minimum of bandwidth, an AH is possible. (Oh, and the models and textures that are being loaded arn't being loaded from the servers, they're being loaded your computer using what are probably identifiers that link to that armor set)
I think an auction house would be a great idea, if they could do it without being owned by blizzard.
n

".