I disabled SIP and was able to run the "workaround" suggested by @serge-iv and while FileMerge doesn't show the error any longer it crashes immediately with a crash report in Console. So on a hunch, since this doesn't seem to be a hot topic, I removed the file /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/Swift.xclangspec and launched FileMerge from the command line via
opendiff 'r3922 ViewController.swift' ~/Documents/Davelopment/ChatClient/ChatClient/ViewController.swift
and was indeed able to open FileMerge. I must conclude that FileMerge is not being called with the correct parameters rather than there being an issue with FileMerge and Swift files. Why this only seems to be an issue with Swift files I have yet to figure out. ObjC .h and .m files are fine as is the .plist file. Actually every other file type I have tried seems to open fine via FileMerge just fine when called from FileMerge. I will provide an update if I ever figure it out.
[EDIT] So I have figured out a workaround but it isn't the greatest. If SIP is disabled FileMerge works just fine with Swift file. When it is enabled it either crashes, if FileMerge is not already running, OR it displays the base file as blank which is equally as useless. If I disable SIP, which I had to do to run @serge-iv's solution, I discovered it works fine. So I'm not sure where this sits, but for now I will run with SIP disabled.