Yes, that's possible. With µGFX, almost anything is possible in these regards.
You can use a pixmap which is only the size of the button, render the button and then blit the finished one to the actual framebuffer
You can also implement full-screen double buffering
You can also implement driver level double buffering
You can also implement hardware supported double buffering
...
What works best (and what's possible) depends on the application, used platform, available resources and so on. There's no general guide to double buffering. In our daily work for customers we use all of the methods above. As always: The right tool for the right job. Each method has different advantages, disadvantages, requirements, complexities and so on.
You might also want to keep in mind that flickering can occur from different sources.