> How important is it to select relays that are close geographically?
It's not all that important. Choosing relays geographically close to you might give you somewhat faster response times. I don't have any data on it but I think that's a negligible performance gain. In fact, I could argue that distributing your notes in different geological zones could increase censorship resistance as no government institution could shut down all your relays at once. The same goes for choosing relays in different cloud provides too for that matter.
Short answer is: For new users, choose popular relays and then just curate it to whatever fits your need afterwards.
> How many relays is optimal and is there a performance trade-off from having too many?
Hard to give a definite answer on this one but I think somewhere between 3 and 10 relays makes sense. Having too many relays does have a performance trade-off because you have more connections downloading more content (and often the same content). Let's say you're on a metered connection such as a mobile data subscription or have maximum data usage at your home wifi (I think that's a US thing?), fetching content from many relays might drain your monthly data plan in a whim because you fetch mostly the same data from each relay. So let's say you get 100 MB of events from one relay, if you have 10 relays and they all have the same events, you've used 1 GB of data.
> Are paid relays deemed necessary at this point in time for a new user?
No, not in my opinion. Set them up with the popular free relays (Damus, nostr.band, Primal, nostr.wine, or my own relay) and let them choose if they want to use paid relays or not. However, it could be good to remind them that free relays might just delete your data whenever (like when Damus nuked the entire relay db) so opting in for a paid relay that actually offers better data retention policies could be beneficial if you don't host your own relay. They're likely to get less spam too which could be nice if you like to browse global feeds.
> Do Nostr clients have the ability to change which relays you use without specific user intervention, or are relays entirely client-agnostic?
Relays are entirely client-agnostic. When you select a relay to read from and/or publish to in a client, a nostr event is sent to your relays containing a list of the relays you've selected. To do this, you as a user have to "sign" the event using your private key. In other words, clients cannot specify which relays you use without user intervention. That said, a bad client could just be programmed to use whatever relays it wants without caring about the relays you've already specified (that's highly unlikely though). I'm not sure if this answered the question though..? Short answer is: no, clients cannot change your list of relays but they can speak to any relay they want (depends on the implementation).