I would like to have two separate geopoint questions in Survey123 but collect the points on different base maps (one on a US Topo base map and the other on a World Street base map). Is this possible using the base maps in Survey123 or is it possible by way of creating my own tile packages?
In order to have two geopoint questions in a single survey you'll need to have one of the geopoints within a repeat. This stores the secondary points in a related feature layer.
Unfortunately, even if you are happy with this design, the survey default basemap (set in the Settings → Map tab in Survey123 Connect), is a global setting stored in the .info file that applies to all geopoint questions in your survey. Your own tile package with be handled in the same way so won't give the desired result.
You have probably already noticed that different basemaps can be selected when you're collecting a point, but currently this selection is not persisted in your survey (reverts to default).