1) There are two different answers to this question, one for System 6
and one for System 7:
In System 6, a volume that has two or more copies of an
application, or where there are different versions that use the same
creator, the last copy installed on that volume is the one that
launches.
In System 7, the application with the most recent creation date
is the one that launches.
2) There is no way to change this. However, a sure way to eliminate
the version confusion is to change the Creator of the applications you
don't want to launch.
For example, use ResEdit to change the creator of HyperCard from
"WILD" to "FRED". When you double-click on a stack, the system will go
looking for the application whose creator matches the creator of the
document (stack). If you have another copy of HyperCard (say, 2.0v2) on
a mounted device, it will be launched. Saving files from the changed
application is unaffected (they still have "WILD" for their creator).
So, your solution is to change the creator of all non-current
HyperCard applications to something other than "WILD" (try "DLIW"; it's
probably not used by other applications). All stacks launched will
come up in HyperCard 2.0v2. Opening the stacks in other versions is
done by launching the application and using "Open╔" in the file menu.