AnalogKid said:
Your problem description is nice and clear (thanks), so I'm pretty sure the answer is no. There is no catalog-standard, off-the-shelf pushbutton switch that has a four-state cycle. A common switch for ceiling fans has a four-state cycle, but it is off - A on - B on - A&B on. and it is pull-chain, not pushbutton.
Two DPST relays can be controlled with a SPST pushbutton switch through a small circuit that is way less complex than anything Arduino. And of course, the relays can be replaced with solid state switching devices (BJT, MOSFET, SSR, etc.)
ak