diff for multiple files

vimdiff 1 2 3 4;

vimdiff

It's highly customisable with loads of features, for example if you want to dump the UI to html;

vimdiff 1 2 3 4 -c TOhtml -c 'w! diff4.html|qa!'

Here's a nice suggestion on stackoverflow. Take a look at the accepted answer about Diffuse software.

As for the output of the comparison to a file, I've just tested it with diffuse-0.4.6, but was unable to discover such feature, so I guess it's a topic for another question...