It is not currently possible, and it's a very frequent suggestion!
https://mlpforums.com/topic/125974-keeping-ranks/?p=3728535
This sums up quite well why this is not a feature. Although it is quite within our capabilities to bypass the technical limitations with a relatively minor amount of coding, the confusing nature of such a choice undermines the clarity that the badge system's very purpose attempts to portray. Perhaps in the event of a revamp of the purpose of badges, this may be possible (for example, unlocking various badges for all kinds of activities, only one of them posting; thus it would not be deceptive if a user had a different badge than their highest post one).
However in the current system, from what I know it is unlikely we will allow people to change their badges.