The term dates back to the 16th century. It actually refers to how a dog will chew on a bone, "picking" it clean. It's used when someone wants to discuss something.
There are a couple of theories, but the general idea is this metaphor refers to dogs and bones. The saying means there is a fight to be had; it may have come from either the idea that dog's obsess over bones or that dogs commonly fight over bones.
This saying refers to the way people and animals used to work endlessly on cleaning a bone of its meat. It's hard to know who was the first to say this phrase, but it seems to date back to the 16th century and relate to a dog cleaning a bone.
Hearing someone say 'I have a bone to pick with you' can strike dread into almost anyone's heart. The phrase itself originates from the 16th century and refers to a dog picking a bone clean and now refers to any topic which requires a somewhat lengthy and tenacious conversation.
This particular saying dates all the way back to the 16th century! It was started only because of out a dog picks the bone clean when eating it. By saying that to someone you are expecting a conversation that requires time and attention.