Mmm. Good point -- maintaining a separate mapping is harder to implement and can lead to preformance issues. I think I see why they did it the way they did now.
Not really harder or bad performance-wise, like esrauch said you can just hash it or anything to get a custom unique value. It's just that to most devs, the first idea will be "I need a unique ID and FB already gives me one, why roll out something else?".