Hmm, what an interesting topic (in a geeky sort of way

). I signed up for a BAEC account in the beginning months of 2007, and created a household account and accounts for Dave Speedbird and Louise Speedbird, and we all have numbers beginning 1605xxxx.
Much later in the year, we signed up Louise Speedbird's mum (different address) as a BAEC member, and she got a number beginning 1669xxxx. Around the same time we applied for a BA Amex credit card for Louise Speedbird's dad, and ticked the "I do not have an existing BAEC account" on the application page - and he was allocated a BAEC number by Amex beginning 9995xxxx.
My guess is that numbers beginning 999 are ones allocated by Amex, and perhaps if they have any other partners who can create BAEC accounts, they have their own prefix range. As for how BA themselves pick the numbers, the fact all of our numbers began 16xx, and that mine, Louise & Dave's were created at the same time and have numbers beginnin 1605, means there must be some connection to the date that we signed up, but it looks like it must jump around around different ranges as time goes on, its not exactly sequential, but accounts registered around the same time begin with the same four digits.