As I understand it, there are three levels of modification:
1. The XML files can be modified using any competent text editor. I imagine that a dedicated XML editor would be overkill for this purpose.
2. The Python program modules can be modified using any competent text editor, if you understand Python. The Python interpreter can be downloaded for free, with good online documentation. It's one of the easiest programming languages to learn and use, and is useful for many other purposes than modifying Civ 4. Highly recommended.
3. Most of the rest of the Civ 4 program can be modified using the Civ 4 Software Development Kit, and presumably a C++ compiler; I haven't looked into this because I find C++ deeply tedious and don't intend to mess with it.