It doesn't look like this machine will work very well the way you've got it set up. It appears to rely entirely on gravity to keep the gantry from lifting up in reaction to cutting forces. You need to provide it with rollers underneath as well as above the table, so that won't happen. I also don't understand why you have two feet in back but only one in front. This won't be as stable as using 4 feet. There's no problem with using ball screws that don't match; you set up units per step on each axis separately, according to the pitch of each screw.
You can set the home switches at either end of the axis; it's your choice, but it's most usual to set Z at the top of its stroke. If you're only interested in 2D work, there are various programs you can download for free; just look for "free 2D CNC". LinuxCNC is a free CNC controller, but it only works in Linux.