The answer really depends on how you are deploying these three EJBs. If they are all in one application (an ear or exploded-ear directory with a META-INF/application.xml) then all three EJBs will "see" each other. When you redeploy, you actually redeploy the whole application - all 3 ejbs. Everything bounces as a unit
, and all changes are picked up. Also you don't have to worry about client jars or whatever because all the code is loaded together.
If your ejbs are deployed in separate applications (or as stand-alone ejb-jars), then the two ejbs will need access to the remote and home interfaces of the hot-deployed ejb.
This requirement really has nothing to do with hot deploy, it is just that any class referencing another has to have access to whatever interfaces, etc. it needs. Same requirement was there when you compiled the code.
So, if you create a client jar for the "hot" ejb, and make it available to the other two (i.e. by referencing it in their manifest's Class-Path or by just including these classes in the other ejb jars), then this should work.
The only problem is if you change the Remote or Home interface and redeploy the "hot" EJB, you will also have to redeploy the other two so they are working with current versions of these interfaces.