Is there a way to filter which appointments show up based on subject? For example, on a month view only appointments where subject = "school" would appear.
No, not really. Appointment does expose a Visible property though, so you could iterate the Appointments collection and set Visible to false for the ones you want to filter out.