The "top X%" counter based on reputation displayed in my user profile seems to be changing between "this month", "this week", and "all time". Why is that? Is there any way that I can toggle between those?
The metric reported on your profile under the big score is your best overall percentage ranking in the leagues over the most recent time periods that are collected and reported.
To see how you fare in the other categories just check the:
links for the appropriate Stack Exchange site here: Stack Exchange Leagues
Don't be surprised to see yourself apparently ranked #1! Since you are logged in, the page simply shows your results first and then Jon Skeet's and then everyone else in order. :-)
There are also easy "Previous Week" and "Next Week" links, e.g., when you get into the league page.