There's some finessing, but if they get hired and are assigned to the Chicago Office, they come in with a salary competitive to Chicago professionals and the COL here. If they get on projects where they have to travel to a client site that's out of state throughout the week, they still get paid their same salary. The client comps them for travel, they fly in to the client site city Sunday evening and then fly back to Chicago Thursday evening or Friday...
If they move out of Chicago and don't let HR know, HR will assume that they are still in the area so they will have the expectation that they are available for projects in the area/Midwest. I know some people at my gig, where they got hired to work out of the Chicago Office, but they lived in Iowa when they took the gig. They get staffed on a project in Chicago, so now what? If you relocate all together and you report to a new home office, HR will assess salary and go from there. I'm sure some people are working the system tho because with a mobile and remote workforce it's harder to keep up with all the movement.
The difference in this situation with Facebook is that they all primarily reported to their HQ in their Bay Area office, so their business structure isn't like consulting where they have a vast number of people traveling to client sites. With a consulting workforce, most people are already moving all around and working remotely when necessary or 100% of the time. I'm sure that Facebook doesn't require all of their consultants that they have developing their software for is in the Bay Area... I'm actually 100% positive on this.
They are just adapting to what they've seen from companies who they staff people with IMO.