Seeing as I'm feeling helpful today here's a bit more info after some research...
First of all, download
platypus. It's open source, and very useful.
Platypus allows you to create Mac OS X applications that act as front ends to unix scripts of various varieties. We can also use it to create a double clickable application to run an X11 app, and also accept drag & drop and association through get info as described earlier.
Here's what to do to create a front end for xemacs:
1. In a text editor, create the script that will launch xemacs. Here's what I came up with:
open /Applications/Utilities/X11.app
export DISPLAY=localhost:0
/opt/local/bin/xemacs "$1"
I assume anyone that's unix friendly enough to want to use xemacs won't need those lines explaining. The first line launches X11 if it's not already open and makes it the active application.
2. Launch platypus. Click the 'select' button next to 'Script Path' and navigate to your script.
3. Fill in the 'App Name' field, and select the 'Shell' and 'Is Droppable' options.
4. Click create and choose a location for the new application.
You should now be able to double click on this application to run xemacs (assuming X11 is running). You can also drag and drop files onto the xemacs application (although this won't work with all file types), or change text files to open with the new xemacs application by default using get info.
If you wanted to modify the behavior of your new app, simply ctrl/right-click on it and select 'Show Package Contents', and navigate to Contents/Resources.
The various text files in this folder determine how the application acts.
Hope the above is of some use.