If really you want to deploy the same application twice on two "context path" (not sure what you mean by two people but this is what you are showing in your sample URLs) but with different L&F, simply package and deploy two wars with their own set of CSS i.e. sample1.war and sample2.war. I can think of perfectly valid reasons to decide to do this (separate resources management like db pool, QoS, etc).
If you are using a Apache HTTPD as front-end, you could also create two virtual hosts (for example for the subdomains user1.example.com and user2.example.com), forward the dynamic requests (JSP and servlets) to Apache Tomcat and put the static files (including the CSS) at the virtual hosts level. Whether you map your vhosts on one or two webapps really depends on your needs. As I said above, there are valid use cases for deploying a war twice.
Another option would be to use mod_rewrite to play with URLs and then have your webapp dynamically pick the desired CSS.
Personally, I tend to prefer using a web server as front-end to serve static files because a web server is just better suited than a servlet container for this job (servlet containers have been improved in this area though). But this makes obviously the architecture and deployment process a bit more complex.