Is it possible to make a call without giving access to the phone's contacts? I.E. say I let a friend use my phone, and lock my contacts such that it requires a pin for access - is there any way to allow a call to an arbitrary number that is not necessarily in the contacts?
In Android 5, a feature called screen pinning was introduced. The idea is to actually pin an active app screen so that it cannot be quit, no notifications are shown, and so on. Think of this feature as restricting yourself to a single app screen until it is unpinned again. More information can be found here.
To come back to your specific problem: start the call app, pin its screen and hand it out to someone. This person is now able to use the pinned app screen, but cannot switch to another app. If you enable the corresponding setting, this person will also not be able to unpin without knowing your password/pin/pattern.
It should be noted that you need at least Android 5 Lollipop for this.