Solve PDE on 2D non-flat surface

1-2: Yes, you can upload meshes to FEniCS, in an xml or xdmf format. For more details on that subject, see: Transitioning from mesh.xml to mesh.xdmf, from dolfin-convert to meshio for what tools is suggested to use for creating a suitable format.
3-4: Yes, it does, see the example of a PDE on a manifold: https://bitbucket.org/fenics-project/dolfin/src/master/python/demo/undocumented/mixed-poisson-sphere/demo_mixed-poisson-sphere.py , where there are some notes on some things that only has to be done for manifolds.