So many questions in one go! :)
Well I try to answer only a few of them.
1) a built-in module is any module that comes with a python release. For instance the sys and os modules are built-in modules. That's it really.
2) The PYTHONPATH variable don't exist by default on your system. When you launch the python interpreter, it fills the array of path where it search for modules, in the way you described.
This is the result of sys.path. However sys.path is not the environment variable PYTHONPATH.
If you set the PYTHONPATH in your system, then all the path contained in it will be included in the array that python's interpreter uses to search for modules.
I will leave the answer to the environment variables for others, as I don't feel I'm the right person to answer such a question.
My feeling though, is that it might change from system to system. Anyway...
Hope it helps.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…