A – would appear you are consolidating two companies both with existing domains, which need to continue. We have domains not forrests, because a forrest is what you are talking about creating.
B – If we presume that both domains must continue as independents with shared resources, then you want a third server as master, and join each domain to that forrest. Then migrate the user containers to the master controller and assign permsission as needed.
C – or create ‘trusts’ between the two domains and assign users in one domain to a ‘group’ in the other. This will work as long as no user has an account on both servers. The administrator on one can be made a member of the adminstrator’s group on the other, but avoid dual accounts.
D – The corporate domain with subordinate companies has the advantage of a single active directory and easier user management. Much less likely to have leftover accounts when employees leave. The ‘trusts’ arrangement is easier on the front end but maintenance will cost more in time (which is money) in the long run.