Можно ли как-нибудь заставить сервлет работающий под Tomcat использовать чужой NamingCOntext или InitialContext?

конечно можно

если другим приложениям на томкате не нужен JNDI, то можно использовать файлик jndi.properties, в котором прописать фабрики ЖБосса. файлик должен находиться в classpath, то есть в WEB-INF/classes (если в jar, то в WEB-INF/lib) приложения, или в $TOMCAT_HOME/common/classes.

jndi.properties - стандартный файл настройки JNDI, подробнее можете глянуть в сановском JNDI Tutorial.

если разным приложениям нужен разный контекст, то тогда смотрите на конструктор InitialContext(), принимающий Hashtable. значения или захардкодить (очень плохо), или прочитать из какого-либо файла пропертей.

естественно, приложению должны быть доступны JNDI библиотеки ЖБосса.