Personally I prefer to uses layers to build up your image.
So:
Layer-0 = Operating System
Layer-1 = Frameworks (.NET Framework, C++, Java, Silverlight, etc)
Layer-2 = Office (Office Suite, Corporate Identity plugins, Lync, etc)
Layer-3 = Locally installed applications users can start (Adobe Reader, 7-zip, etc)
Layer-4 = Virtual applications (Notepad++, Winmerge, etc)
I place Java in Layer-1. Locally installed and updated by a deployment tool (in your case SCCM). There are some pros and cons about this:
Pros:
- Easy to update
- Less package size
Con:
- Every app should be tested when updated
- Security is reduced because it is locally installed
So, to answer your questions
What is the best/smartest way to add a new Java in App-V Virtual Environment?
You can add it to the package by using the "Modify an Existing Virtual Application Package" option in the sequencer.
Can you have 2 different Java versions in the same App-V Virtual Environment?
If you use 2 seperate packages, yes. That's the advantage of virtualization.
Some applications support two versions in the same package, you should test this for Java.
How long time should it take before newpluggin is registered on the client?
If you import your new package into SCCM it should take as long as a new package.