1. A cross-compiler is a compiler which can build software intended to run on the same operating system but a different CPU, or on a different operating system (with the same or different CPU).
2. The traditional use of a cross-compiler has been to build software for a less capable computer using software on a more capable computer (compiles faster, more convenient to use, etc). For example, some versions of the Macintosh System were built on a Cray supercomputer. You can build your own cross-compiler to do things such as build an operating system and software for an ARM CPU - this is fairly popular in the world of "embedded" computing. If you really feel like it, you can even use a compiler on an Intel Pentium computer running Linux to build software for a PowerPC computer running OSX Leopard.
I have no idea if there are pre-built cross-compilers on Fedora9.
3. See the GNU GCC documentation on cross compiling; you can find it via the FSF website. You can also go to the Linux From Scratch project and look at the documentation of the CLFS subproject; that gives you an abridged version of how to build a cross-compiler.
4. I have no idea what you're talking about. Cross compile what program on what computer for what other computer?