Java itself does not place a limit on the number of objects, but individual JVM implementations do, explicitly or implicitly. It is fairly unlikely that you'd hit this limit, as you'd almost always run out of memory sooner.
Objects cannot be shared between JVMs directly. However, there are lots of ways of obtaining the effect of sharing. Look up RMI, CORBA,
SOAP etc.