To whom it may concern,
I am certified in Desktop and Geodatabase of ArcGIS though I have worked also on several web applications using ArcGIS (ESRI) platform.
Some basic answers for your questions:
First, for all questions it depends on the version of ArcGIS that you use, that is, do you want to use an existing one or do you want to buy a new one.
1.) ArcGIS Server can connect to a lot of DBs, Oracle, Postgres, Postgis, DB2 and many more. The question is if your application connects to the spatial databases through the ArcGIS server or does it need direct connections to it as well then it depends on the underlying development platform.
2.) You can use Python to virtually program anything in ArcGIS.
3.) Again, it depends. You can even write your own User interface and implement mapping into it. Have been doing this with PHP, HTML, JS.
4.) For this you need an extension.
I am at your disposal for further questions.
Regards,
Daniel