It’s not true that programmers are the only profession in which candidates are tested on their knowledge or asked to perform example work. In fact, programming interviews were relatively straightforward compared to some of the trials I’ve seen given when hiring for non-programming roles. In fact, many of my non-programming peers are blown away when I tell them that our interview study material is freely available online and there are multiple free websites that will help you practice for interviews.
> Why is it considered normal for me to have to schedule a 2 hour technical interview in the middle of your current job's workday?
Why would it be abnormal to ask someone to invest 2 hours of their time in an interview? You’re applying for a job that you might hold for the next 3 years or more. Is a part day of interviewing really a dealbreaker? If nothing else, use that time to get a feel for your future coworkers and ask them questions.