I live and work in BC but my work contract says it's to be interpreted by the laws of Ontario. I have a shift scheduled where there is an unpaid 2 hour break in between. So for example I work 9AM-1PM then 3PM-7PM and only get paid 8 hours. Is this legal?
There are two parts to your question: Is it legal to do this? and Can they make me?.
I see no reason in the Employment Standards Act 2000 why it's illegal for a workday to be split in two. Section 18 specifies that you are entitled to at least 11 hours between the end of one day and the start of the next, but you are well within that. It is conceivable that a creative lawyer could argue that this is actually shift work, which requires an eight-hour break; but even if that worked, the company would presumably put you on something like 9 AM-12 noon, 8PM-midnight, which is not what you want.
The company can require you to do the job set out in your contract, which is why I asked whether this is a new requirement. I am afraid the reply "it's a new job, but I never agreed to it" doesn't make much sense to a lawyer. If you have been doing the job for a while, it is possible that the implied contract is for a normal workday, and the company is trying to change it unilaterally. (I would guess this won't work, but it would be worth consulting a lawyer.) If you applied for a job and now find that it isn't what you expected, you need to check the paperwork. I am almost certain there will be a clause saying "Your employment will be for 8 hours a day, as required by your manager" or something along those lines. When you first turn up for work, you accept those terms by conduct, and they can, legally, make you work this split shift for as long as they want, including the period when you are working out your notice after you quit.