If you setup a exchange deployment in two seperate forests, because a forest is the logical boundary for an exchange server making this work is a bit of a doosy. First of all you will want to use MIIS (Microsoft Identity Integration Server) or IIFP (Identity Integration Feature Pack). With this you setup an SQL database which stores attributes and values from both LDAP Schema's in SQL. It then creates contacts for every user account in the other forest, so that users can see everyone in the GAL. You then setup your SMTP or send connectors etc go get the mail flow feature happening.
However what about Free/Busy Status?
With Exchange 2003 public folder system you want to use the IORepl tool known as the Inter-Organization Replication Tool.
With Exchange 2007 the availability service supports cross forest free/busy out of the box. You just need to add the availability service address spaces for the other forest on both sides using Add-AvailabilityAddressSpace. Make sure you specify a service account and provide credentials. This service account must have rights to read availability data.