Where can I find a port of the diff program (e.g, for ediff)?
You’ll need a port of diff before you can use the ediff package in Emacs. Each of the GNU-Win32, UWIN, and Reed-Kotler toolsets have a port of diff that you can use with Emacs; see the Unix tools port section below. If you just want diff and aren’t in the mood for switching to a new toolset environment, then you can download the RK toolset and use the diff from there in isolation.