Going a bit more in-depth here:
Interface elements are based on a “ZBrush unit” master size. Tool>Preview>Object Preview is one of the few elements that’s 1 unit in size. The large thumbnails are .5 units in size. The small thumbnails are .25 units in size. Other elements are even smaller. Depending on the element, their height and width can be different – but they’re still defined in size relative to that master unit.
Preferences>Interface>Button Size defines the size of the master unit. This is the only control that’s available to you for defining button size. The Wide Buttons option simply toggles certain elements between a rectangular size (.5 x .25) or a square size (.25 x .25).
Things are done this way in order to allow all the different interface elements to neatly stack inside of the palettes. This also allows the Preferences>Custom UI menu to have several different UI fillers – blank spaces that are guaranteed to fit into your interface layouts. No matter what you do to build a layout, you’re sure to find a filler that will fit your need. In short, standardization is your friend. 
That having been said, there is a way to get around this. You would need to create a plugin with custom buttons for anything that you want to be out of the ordinary. ZScript code allows you to define the size of your buttons. This is again relative to that master size, but you can create oddball sizes if you want. For example, you could create a button that’s .66 width and another that’s .34 width. Those two would fit side by side in the palette because their combined sizes equal 1. The button would then be programmed with a command that calls the real version of the button. After that plugin has been loaded into ZBrush, you could place your versions of the buttons into your custom UI. Clicking on one would then activate the action just as if you’d clicked the button that is native to ZBrush.