Cita: 1) Me conviene usar un pool de conexiones?
Si.
Definitivamente lo notarás en rendimiento/memoria incluso con ese número de usuarios.
Si utilizas un servidor Java (ver pregunta 2) además no tendrás que implementar nada. Solo deberás definir y configurar el datasource y acceder a él a través de JNDI para obtener la conexión.
Cita: 2) Hay algún servidor web me permita correr una aplicación como servidor y así distribuir solo una aplicación cliente entre los usuarios?
En java puedes utilizar algún servidor como Tomcat o Jetty, que son bastante ligeros, ya que no implementan todo el stack J2EE, sino sobre todo la parte relativa a servlets, que es la que necesitarás para procesar las peticiones.
http://tomcat.apache.org/ http://eclipse.org/jetty/
Si quieres consumir los datos desde un cliente nativo, lo más acertado sería implementar en el servidor una API Rest. En Java la especificación para APIs Rest es JAX RS y hay dos implementaciones que son las más usadas: Jersey y RestEasy.
https://jersey.java.net/ http://resteasy.jboss.org/
Si quieres consumir directamente los recursos del servidor mediante paginas responsives puede utilizar JSP o algún motor de plantillas como Freemarker o Mustache y apoyarte si lo deseas en algún framework cliente como jquery mobile o sencha mobile.
http://freemarker.org/ https://mustache.github.io/ https://jquerymobile.com/ https://www.sencha.com/products/touch/
Si te atreves, también puede utilizar algún servidor no bloqueante como netty, aunque tendrás que acostumbrarte a desarrollar pensando siempre en procesos callback asincronos y no bloqueantes.
http://netty.io/
Un saludo