Generally there is no mathematical answer to your questions.
How does error increase as a function of distance from the GCP?
Depends on the project and gcp dispersion
How should GCPs be placed to meet a certain accuracy requirement? Should GCPs be placed closer together to increase the accuracy of a site?
- Does significant elevation differences on the site require an increase in the number of GCPs?
Generally GCPs should be placed to cover the entire site, without big gaps and taking into account extreme elevation changes. Do consider that spreading out a large number of GCPs does NOT proportionally increase accuracy.
- How much elevation difference is allowed between GCPs? Is that even a criteria that needs to be considered?
No specific criteria, think of your project as a 3D object that needs to be "tied" by various points with GCPs