First, you need to have the following line, or a part of it in your sudoers file:
Then, you can set VISUAL or EDITOR to set the default editor for visudo.
By default, visudo chooses vim as the editor, from the following symlinks:
/usr/bin/editor -> /etc/alternatives/editor /etc/alternatives/editor -> /usr/bin/vim.tiny
So you can set /etc/alternatives/editor to another editor:
rm /etc/alternatives/editor ln -s `which emacs` /etc/alternatives/editor
You can set env variables for that session:
export EDITOR="emacs" export VISUAL="emacs"