Assuming crossfading is technically feasible, it would be a really nice feature. I would imagine its pretty complicated to program, and I would imagine a big strain on the processor. But if you;re listening to loud thumping music theres nothing worse than sudden dead silence inbetween tracks. Even if the tracks dont go together well, its better just to have continuous sound IMO. Failing that even a fast fade out, and fade in (no overlap) might be better than a hard cut!

As for pre-matching which mp3's go together, Hmm, theoretically, a field on the ID3 tag could store info about pitch, BPM, and fadein startpoint and endpoint., and at the end of the track, fadeout startpoint and endpoint.
Perahps asking the machine to tweak the speed of similar BPM'd tracks (like a real DJ) might be asking a little too much however
_________________________
Sussex, UK. Rio car 30Gb and Neo35