The other answers here might be out of date. As of coreutils 3.5 diffdiff can indeed produce colored output which is turned off by default when the stdout is not a console.
From the man page:
--color[=WHEN] colorize the output; WHEN can be 'never', 'always', or 'auto' (the default)
--color[=WHEN]
colorize the output;WHENcan benever,always, orauto(the default)
To force color output when stdout is a pipe diff --color=always $file1-- $file2"$file1" "$file2" | less -rR should work.