These non-servlet classes you want to have access - are they in the same JVM as the servlet engine? How do they get created/started? Do they just get used by one "web application"? Could you just pass the constructor a reference to the ServletContext?
Alternately there is a very nice free all
java database that can be implemented as in-memory only if you like. Search for Hypersonic SQL.
Bill