Don't know what the BA policy is, but with KLM I can choose my seat 3 months in advance. Some of the more sought after seats are already blocked by the system, presumably to keep them available for the Gold and Platinum punters (who generally don't book their flights that far ahead). The only time I have been re-allocated was due to equipment change.