I think you might be able to do something clever with the
--to-command option in recent versions of gnu tar (around 1.25) to deal with this. That should allow you to do arbitrary transforms of tarfile output by piping it through a custom filter program. Theoretically that could check the owner of each file being extracted from the archive and change it if necessary.
However there's no good examples of how to use this functionality out on the net right now and my attempts at a filter script proved fruitless.
Then it struck me that you could solve this dilemma by splitting the archive into two separate files. This could be done with tar, but this is really something best handled by cpio, because cpio has more flexible input handling.
So, here's my attempt at a solution using
cpio. First, make a cpio archive of all the files owned by webserv:
cd /var/www && find . -owner webserv | cpio -ov --format=crc | gzcat webserv-files.cpio.gz
then, make a cpio archive of the files owned by webdev, changing the owner to webprod:
cd /var/www && find . -owner webdev | cpio -ov --format crc --owner webprod | gzcat webdev-files.cpio.gz
(note that will only work if run as root according to the cpio manpage).
Now at your destination, extract both archives:
gzcat webserv-files.cpio.gz | cpio -iv
gzcat webdev-files.gpio.gz | cpio -iv
I think that will have the desired result, although I have not tested too thoroughly.