One more question: Why not just combine the two AD forests into one tree, with the student account domain as a child domain of the teachers' domain?
In the summary, the poster mentioned wanting to reduce the number of physical servers from two to one. There's no way to do that with active directory (unless you virtualize) because each DC can only handle a single domain. Personally, I think the server count just for DCs is a big problem with the design of active directory. If you had two separate but related organizations, to do things the "right" way you'd need at least six domain controllers (two for an empty root, then two DCs for each of the production domains.)
The "empty root" theory was dropped a few years back. It's really not necessary.
Also, two separate but related organizations need a single domain with two OUs. The ONLY reason to separate into two domains was to have different password policies, and even that reason has gone away with W2K8. You can assign password policies at the group level now.
So, for any infrastructure that doesn't need DCs at multiple sites, you'd only need two DCs for full local redundancy. You may want to add two more in a separate site if you want remote redundancy as well (or just one in each site if money is tight).
You don't really need to start scaling up to more DCs until you get into tens of thousands of users range.