The emulator idea is a bit far-fetched. Basically, running linux on the xbox is essentially turning it into a PC. Writing an Xbox emulator that will run under linux (on the xbox or not) is just as difficult as writing an xbox emulator that runs on the PC... which at this point, is probably out of the question.
As for the FTP running in memory idea... also won't work. Basically, applications are always running in memory. When an executable file runs, it is pumped into memory and run from there. But, the problem with the xbox is (correct me if i'm wrong), the kernel is stripped down and designed to only run one process at a time. Multiple threads can run, but only a single process. Basically this comes down to CPU scheduling. The kernel simply won't schedule two processes in and out (game & ftp server) because it was designed not to. A program can't really just *run* in the background -- it must be scheduled in and out by the kernel, running for it's time slice, then sleeping. The kernel must be aware of this process in order for the process to run, but the Xbox kernel will not allow this. Hope that clears some things up