Ok, so after many attempts I finally found how point 1 can be done.
I basically use SpriteBatch to generate the final texture, that will be used on the sphere:
RenderTarget2D allTextures = new RenderTarget2D(GraphicsDevice, Texture1.Width, Texture1.Height);
spriteBatch.Draw(Texture1, new Rectangle(0, 0, Texture1.Width, Texture1.Height), Color.White);
spriteBatch.Draw(Texture2, new Rectangle(30, 50, Texture2.Width, Texture2.Height), Color.White);
allTextures will contain the base texture (Texture1) and then I can draw all the other textures by specifying the position and size. This is just the basic stuff, but then I will have to calculate the actual coordinates and size just to make sure that there is no distortion when allTextures is projected on the sphere.
Any suggestions for point 2?