Many times a user tends to change the their accepted answer based on newer and briefer answers. How many times can a user change the accepted answer? Is there any limit?
There is no limit. The accepted answer can be changed as many times as the user wishes.
This is by-design. If a better answer comes in later, we want people to be able to accept that one instead. It also works as an encouragement for users to answer "old" questions if they have something more to contribute. The Stack Exchange sites are not a discussion forum; there is no such thing as an "old thread", you won't be given hostile looks of derision for "bumping" an old question, or other silliness.