Well I did it without writing a script...
My fetchmailrc looks like this:
poll mail.external.com port 110 protocol POP3 localdomains internal.com user mail@external.com password 'your_password' is *,
What the "localdomains" does, it tells fetchmail that it should consider the internal.com domain as a local domain.
So if you run fetchmail on the internal.com domain (probably on the zimbra machine), it will see internal.com as a localdomain.
I don't know if this is the perfect solution for multidrop mode, but I got it to work for me.
Comments will be appreciated for getting the best possible solution?