I believe that biological sexual attraction to other people is set along a continuum with a normal bell curve. Some people are waaaaaay at one end. Some people are waaaaaay at the other end, but most people are clustered between 66% and 75% heterosexual.
A person who is halfway between can easily choose which gender they want to concentrate on, so follows society by being heterosexual. A person in the 33% range, closer to being homosexual, would be the people who we consider bi-sexual. They choose heterosexual relationships from social pressure, but are still very attracted to people of their own gender. Any smaller than 25%, though, and the choice becomes increasingly more difficult, so these people remain in homosexual relationships.
My percentages are based on the number of gender-specific traits that a person is attracted to, such as hip size, facial hair, genitalia, etc. 0% means that a person is only sexually attracted to the traits of their own gender, and 100% means that a person is only attracted to the traits exclusive to the other gender... I'm not trying to imply that one preference is better than another by putting one on any one side of a scale or another; that's simply the way that it was explained to me.
As far as whether a person can choose their preference or not, because of the reason I just explained, I would have to say "it depends."