Welcome to the forums 
Yes this could be achieved IMHO, but the way I would do it would be to get a list of all the users from the Zimbra server using something like :-
Code:
zmprov gaa -v domain.com
write this out to a file say zmusers and then run :-
to create the binary db file. This is then called via the front-end Postfix process by changed main.cf and adding :-
Code:
relay_recipient_maps = hash:/etc/postfix/zmusers
so any invalid users should be rejected. Doing it this way would also reduce the number of network calls between the two machines. I do this for our Lotus Notes installation but extracting from LDAP.
If you want to split the domain traffic then just use transport files, so in /etc/postfix/transport setup something like :-
Code:
domain1.com smtp:normalmail.domain.com
.domain1.com smtp:normalmail.domain.com
domain2.com smtp:zimbramail.domain.com
.domain2.com smtp:zimbramail.domain.com
Hope this helps ?