g-Code is a text file that the machine control software reads. It tells the software where to move the tool.
Emc and Mach3 are basically the same thing, machine control software. Mach3 includes LazyCAM, which can do simple drawing to g-code conversions. I personally don't like it, though. EMC is free, Mach3 is $175.
You'll need a parallel port. A PCI parallel port card will work.