Solved! Go to Solution.
You would need to use something like Python add-ins in order to trap a click event. You will also want to use arcpy.mapping UpdateLayer. The problem is that you would need to pre-publish layer files for each possible basemap. In this case, they wouldn't need to type in a URL but rather pick from a list of basemap names.
Jeff