Hi,
1. & 2. - If you only consider direct USB connection to the printer, then yes, whatever slicer software you use will need to be able to convert gcode to x3g.
Having said that, you can also add Slic3r to the list while having the link below into consideration:
http://www.3duniverse.org/2014/01/05/using-slic3r-with-a-flashforge-creator/
Another possiblity is Simplify3D, again with added support for x3g if available (haven’t used that one yet).
Yet another possibilty is to use Octoprint, a 3D printing server software which will handle the gcode → x3g part using the GPX plugin, while accepting traditional gcode files. In this scenario you can pretty much use any slicer software you like to generate the traditional gcode, then upload it to Octoprint and let it do the rest.
Octoprint is available not only on desktop but also on embedded platforms, like the Raspberry Pi and similar and features a WebUI for remote access.
My current setup uses both Octoprint and Slic3r, on my CTC-3D - and while I’ve recently upgraded to the Sailfish firmware, it also worked with the stock firmware.
3. I had the the same stock firmware. Take your time using the stock firmware, print with different materials, get to know your printer first. If you detect any issues, first look at calibration and settings rather than going for the firmware change/upgrade believing it will fix everything. Use the forums here if you have any problems, someone will help.
When you’ve been accustomed to the printer, after several successful prints, different materials perhaps, etc. - if you still feel the need to change firmware, at least if afterwards something breaks then you’ll have a better term of comparison as to what the experience was with stock and it will be easier for you to debug the problem.
4. That is correct. And if you get to the point where you have to do it, then read this thread as well, as it may help too:
https://www.3dhubs.com/talk/thread/ctc-dual-sailfish-firmware-upgrade-issue
Settings will vary for each part to print, smaller parts, print slower, different materials, do some testing. 3D printing is what it is, be patient especially with complex print jobs. Once you’re successful, keep fine-tuning your setup - either settings and/or add-ons such as fan cooling, etc. etc. etc.
Hope this helps you!