I have two Servlets providing a different service each. I don't want requests for one of them to block if the other Servlet is turning very slow at handling incoming requests.
This is a problem today as both share the same thread pool.
Can I configure a dedicated thread pool for each Servlet (WebSphere)?
No, you cannot create dedicated pool for given Servelt. You could define it for new web container transport chain, and have two application mapped to different virtual hosts using different chains/pools, but it is quite complicated.
For your issue I'd suggest using asynchronous servlets. Make your very slow servlet async one, then the original thread is return to the pool for your other servlet and your long running servlet will be run using separate thread.