Well, it's certainly possible. The MobilePress plugin calls up a simple theme for mobile users of a site using the same data.
But off the top of my head I don't know of a similar plugin for what you're requesting.
I guess you could get part of the way there with some heavy code adjustments by creating a separate stylesheet and using a conditional to call up the correct sylesheets based on a user setting. But then you're not really switching themes, you're just switching to a new stylesheet within that theme.
Sorry, don't have a great solution for you.
P.S. - Adjusting relative font sizes is a lot better for reading simple text content than browser zooming because the font size (usually) increases within the content div and dynamically resizes it without creating scrollbars, though YMMV depending on your setup.