You don’t add a version of a package as a dependency, only the package itself. The version you get is what the resolver (the thing that figures out versions) gives you. The version information is stored in the Manifest.toml file. The manifest file of dependent packages is not used, only the manifest file of the current project is used. Therefore, since you have PackageA developed in your current project, that is also the version of PackageA that will be loaded.
Also, note that there will ever only be one version of a package loaded in a given Julia session.