Well, in spite of the goofiness of doing so, here are some answers... (Pretty much everything in here is covered in various tutorials down in the tutorials section.)
I would like to start modding, but first I have some basic questions.
1. What is XML?
A way of storing data. Each piece of data is tagged as to what it is for.
2. What can I do with XML?
Change the values for various properties of things (units, buildings, leaders, civics, etc.) in the game, add things that are similar to things already in the game, or remove things that are in the game. Using only XML you can not add entirely new properties to things, only use the existing properties.
3. Do I need anything special to edit XML?
No. You can do it with Notepad. You may want something with a few additional features; one popular free option is Notepad++.
A programming language. It is not compiled (converted to an essentially non-human readable form which the computer itself can more easily use) so it is often called a scripting language.
5. What can I do with Python?
You can alter some of the behavior of the game in ways that are not possible using just XML. You can also modify a lot of the user interface as most of that is put on screen via Python.
6. Do I need anything special to edit Python?
Same answer as 3.
It is a Dynamic Link Library. This is built from the source files by compiling it, so the DLL itself is not really human readable but the source files are. It contains most of the game rules and AI related things, other than some very basic parts of the game - this is the Library part as it is a library of things which the main program uses. It is, in essence, a piece of the game program that is in a separate file and built separately from the main .exe file. This allows different mods to have different DLLs (which is where the Dynamic Link part comes in) even though they all use the same .exe file.
8. What can I do with the DLL?
You can change the rules, alter the AI, add new things including new items to specify in the XML, and even change some parts of how the graphics are displayed. Example: you can add to what data is in the promotion related XML and change the relevant parts of the code for loading it and for rules relating to unit movement in the DLL so that a promotion can allow a unit to move across the Peak terrain.
9. Do I need anything special to edit the DLL?
Yes and No. No because you can edit the source files with Notepad if you want to. Yes because doing that does not get you a new DLL. Building the DLL from the source files requires that you download and install some software.
Notepad is also far from the best available option to edit the source code. Microsoft's free Express version of its Visual C++ (part of their Visual Studio software) is much better.
10. Is there some sort of connection between the DLL, Python, and C++?
Yes. C++ is used to make the DLL. The DLL causes the Python to run for specific things.
11. What's to stop me from turning Civ4 into Zoo Tycoon 3 (besides a whole lot of work)?
Since I have never played Zoo Tycoon, I can't say. Possibly nothing. Possibly lots of things.