I was just experimenting with this a bit on iOS. It turned out that it was possible to dynamically set a meta tag to prevent zooming on iOS like so:
$('<meta>', {
name: 'viewport',
content: 'width=device-width, minimum-scale=1, maximum-scale=1'
}).appendTo('head');
Removing it however, didn't re-enable zooming:
$('meta[name=viewport]').remove();
But overwriting the meta tag:
$('meta[name=viewport]').attr(
'content',
'width=980, minimum-scale=0.25, maximum-scale=1.6'
);
with its default values did.