1. look at
http://git.android.com/, or download the tarball from
http://code.google.com/p/android/downloads/list2. ARM9 is sufficient (ARM5TE is the minimum, CPU wise), but there are many other details regarding the rest of the hardware where I can't give any good answer
3. don't know exactly, the emulator uses 96MB Ram, but you can probably test the system with less memory (e.g. use '-qemu -m 64' for 64MB). and the system images must be about 64MB of Flash. that doesn't mean these are the minimum, just that the current system runs on them (the final system may require more, can't tell)
4. You would publish it through a public git repository of your modified kernel code, which would allow anyone to diff/compare/merge it in their own kernel tree.
happy hacking !