There is no parallel port option for 64bit OS's, whether thats Mach3 or 4, so you will have to use an external controller if using a 64bit OS.
I would suggest you look at an Ethernet controller rather than USB, it is just much more resistant to noise and other issues that USB can suffer from.
Quite a few choices of Ethernet from very cheap to quite expensive, all depends what you want from a controller.
All compatible controllers that you can currently buy are for use with Mach3, most should be usable with Mach4 but that will be up to the vendor to write a suitable plugin, chances are the cheaper Chinese ones may not support Mach4, but that is just a guess so dont take it as fact
Hood