How do I make a terminal alias that edits root owned files in a GUI text editor?
sudo and open provide all the functionality already for editing files of other users so you can just run

SUDO_EDITOR="open -FWne" sudo -e /etc/hosts


to edit /etc/hosts. Make sure to quit Textedit at the end (Cmd-Q) because otherwise sudo won't notice that you're done with editing.

To make life easier add the following to your .bashrc (or .alias if you have it)

alias sudoedit='SUDO_EDITOR="open -FWne" sudo -e'