En estos casos lo mejor es guardar una referencia al Thread desde un objeto colocado en el contexto y usar el destroy de un servlet o un ServletContextListener o ServletContextAttributeListener para marcar al Thread que se ha de parar.
Como te he dicho, muchas veces un Thread no tiene un PID propio asi que si le hicieras un kill -9, estarias matando toda la maquina virtual, o sea -> El servidor de aplicaciones. Supongo que no querras eso
Para más info:
http://java.sun.com/j2ee/1.4/docs/tu...Servlets4.html