BC means Before Christ.
AD means Anno Domini, which is latin for "in the year of our lord."
I'm not quite sure where it originated, but since AD is latin and it is measured off of the birth of our Lord then it had to have come around after Christ's birth. And since the measurement is approximately 1-6 years off(Jesus was apparantly born around 3 AD) the system had to have come around a few centuries after Christ's birth.
The measurement was created most probably by Catholics, or the predecessors of Catholics, since the numbering system was created to try and base the Julian calender around Christ's birth in order to make history more centered on Jesus.
I don't think David went by the BC timeline, since it is measured backwards from Christ's birth. Like the negatives on the X axis. I imagine it would be hard for David to measure years that way when he was not sure when Christ would be born. He couldn't very well go around saying "Well the year is 2013 BC, which means in 2013 years our savior will be born." In fact, I think the years in BC were measured mostly by who was King. Like "It is the 32nd year of the reign of King So-and-so."