The .X files? They're binary files that contain executable data, pointer tables and some other... stuff. You shouldn't be thinking of these files as having distinct purposes, like image files or .exes - take the LIMTMENU, for instance, which contains the limit menu code *and* the attack data for each limit. In any case, you should be trying to find the instructions you'll change by running the game with a debugger, finding the instructions in question and only then locating them in the disc's files.
As for learning, here's my advice:
1. Learn to write basic programs in C. Not C++ (yet), just plain ANSI C.
2. Learn to use pointers, manipulate data on the bit-by-bit level and perform arithmetic in hexadecimal.
3. Learn how to compile these programs. Try to use as few libraries as possible. You want as 'self contained' a program as possible for the next step.
4. Learn how to use a debugger on these applications. See what their assembly looks like, and learn to 'hack' them on an ASM level. A tool called a decompiler might help you.