1. JKA is written in C whereas most games nowadays are written in C++. Although the way things are coded are done differently, the different parts that make up the game (entities, client/server communication, etc) are similar so you'll still have an idea of what to do if you decide to move on.
2. The 'Vanilla
' SDK means the original JKA SDK without any changes to it. I would go for an altered SDK which already has the various bug and exploit fixes (and changes to compile with Visual C++ 2005/2008) and it saves you the time doing it yourself (if you ever felt the need to).
3. It doesn't really make any difference. The express edition can do everything you would need to do to make a small JKA mod.
4. The OJP Basic
code has bug and exploit fixes made to the SDK, as well as some changes so it can be compiled in VC++ 2005/2008 properly. It also adds a few little extras such as RGB sabers.
Hope that helps