I don't have the third edition in front of me but I'll attempt to wade into this conversation and hopefully add clarity. Hi Matt!
Q. Is there a difference between length and distance?
A. Assuming we are not using the term "focal distance" or "focal length" and just talking about length distance and in space then for the purpose of this discussion, no, they're effectively the same thing. In the case of describing a physical object like a fork it has distance in all three dimensions but you would consider its length to be the distance of the longest dimension.
Q. Then why do camera people use "focal distance" and "focal length" to describe different things?
A. Because people are bad at making names for things and these two confusing names stuck. The "focal distance" is the distance (in a physical camera) from the physical lens to the image sensor. The "focal length" is a property of a physical lens that describes how aggressively light bends when going through it. Note that in the pbrt perspective camera model the computer science lens model is very simplified and acts more like a launch pad for rays rather than a physical lens that has a "focal length" (see below).
Q. OK, so what is the focalDistance variable passed into the PerspectiveCamera constructor?
A. Confusingly I believe this is different than either the "focal distance" or "focal length" above. This is the closest distance between the camera origin and the plane of focus for the camera. Looking at perspective.cpp you can see that this is a simple model of a camera where we compute a ray by picking a point on the plane of focus, then we jitter the origin based on the "lensRadius". This model is a convenient computer model for how to get rays that all meet up at the plane of focus but have different "lens" origins. However, the "lens" in this case is more of a hack rather than something that models a true optical lens. The "lens" here only has a radius, there is no description of how it bends light (in the model it does not bend light, it is more like a launch pad that provides an offset to the ray origin). Also I believe the "lens" is sitting directly on top of the camera origin. This is a very simple model that is convenient for making good looking pictures but if I follow the code correctly it is far from an accurate model of a lens in a real camera.
So if you use a perspective camera the "lens" sits right at the camera origin and doesn't bend light. Because this "lens" is so different than a physical lens camera terms like "focal distance" or "focal length" do not really apply.
If you wanted to discover the focalDistance pbrt value you might have to edit the source code in perspective.h or camera.h to either print the value inside of the perspective camera constructor or make a publicly available accessor which could return the pbrt focalDistance variable. Something like "Float getDistanceToFocusPlane() { return focalDistance; }"
Hope that helps!
Kevin