Woould it not be an option to export the module and place this in the company content section of the marketplace? Then you have a version available for (e.g.) Mx 9.x and a version for 10.x When you want to change the specific version you can download this to an app of that version and export and add this new version to the marketplace.
When doing this in branches you have to do the updates in the different branches as well, so the method above does not give you extra effort to mainain the versions. The added benifit is that it is easier for new apps to use the content directly from the marketplace.
FYI: upgrading the mainline or branchlines can be done specifically, this means that only the line you are upgrading will be upgrade. However when you are trying to merge the changes, lets say from the mainline upgraded to 10 to a branchline that is on version 9, this will not work as the branch will need to be upgraded as well to merge the changes.