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 :-
write this out to a file say zmusers and then run :-
zmprov gaa -v domain.com
to create the binary db file. This is then called via the front-end Postfix process by changed main.cf and adding :-
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.
relay_recipient_maps = hash:/etc/postfix/zmusers
If you want to split the domain traffic then just use transport files, so in /etc/postfix/transport setup something like :-
Hope this helps ?