1) Is this possible with Dreamhost? -- splitting email functions between 2 servers on the same domain won't work the way you think. Perhaps it should on paper, but it won't in practice, you will spend too much of your time figuring out issues, delays etc, and when you need help from one side of the other...a lot of finger pointing.
2) Can I set up the emails on Dreamhost, if so how much do they cost? Assuming you have some form of hosting with dreamhost (shared, VPS or dedicated) you can create an unlimited number dreamhost email accounts.
3) If I can, can they access their Dreamhost mailbox via iPhones etc? yes you can access dreamhost email on any device.
4) Will the users on MSOffice 365 be aware that there email is being forwarded (i.e. no headers, no changing of email addresses etc....)? Your MX record will have to point to dreamhost, at dreamhost you will have to create an email that forwards to firstname.lastname@example.org (you won't be able to forward to your own domain becuase those mx records will point to dreamhost). It may in fact show up in headers and it probably will be subject to delays at times.
As a side note you will also have to "trick" the domain setup tab on office365. First setting the MX records to point to microsoft, and let the setup wizard detect that you have properly configured your domain. Then you will need to restore the MX records to point to dreamhost. Your domain management tab on the microsoft side will then forever show an error that it says needs fixing, but must be ignored to make things work in your hybrid setup.
In short, Yes I would definitely farm out your email services to office365. Comparing the service to dreamhosts email is like comparing Willie Robertson's house to a single wide (if you haven't seen Duck Dynasty sorry for the reference but it's like comparing a Kia Rio with a Land Rover).
I moved a few domains and users over to office365 email and it just works. I don't worry about mail not sending or arriving (a constant worry with dreamhost due to the frequency dreamhost IP's show up on RBL's).
On a final note, regarding Microsoft licensing and prices. If it's not obvious to you which way to most economically combine the options to get enough "seats" for your organization then by all means open a ticket with microsoft support and ask for help. I opened a ticket during setup for an issue, in under hour a technician called me, understood the problem almost immediately and showed me a way to resolve it. She also volunteered that I should add a particular free add-on license. Also note that you can't see until you actually have an account that not all of the users you create have to have the same license. So you can get say XX licensees one way as part of a large multiseat package then get others say individually or as part of another multi seat lisc.