You can specify -x more than once.
diff -x '*.foo' -x '*.bar' -x '*.baz' /destination/dir/1 /destination/dir/2
From the Comparing Directories section of info diff (on my system, I have to do info -f /usr/share/info/diff.info.gz):
To ignore some files while comparing directories, use the ‘-x
PATTERN’ or ‘–exclude=PATTERN’ option. This option ignores any files
or subdirectories whose base names match the shell pattern PATTERN.
Unlike in the shell, a period at the start of the base of a file name
matches a wildcard at the start of a pattern. You should enclose
PATTERN in quotes so that the shell does not expand it. For example,
the option -x ‘*.[ao]’ ignores any file whose name ends with ‘.a’ or
‘.o’.This option accumulates if you specify it more than once. For
example, using the options -x ‘RCS’ -x ‘*,v’ ignores any file or
subdirectory whose base name is ‘RCS’ or ends with ‘,v’.