Unfortunately the school timetable takes priority to ensure that
everybody gets as close to their desired timetable as possible. Hard job timetablers have. Not everyone is satisfied, ever. Some win, some lose.
It is common not to be able to do a subject at a school, particularly if your school is government. Independent you may be lucky to have a very broad offering. Whether a subject runs or not depends on a few things, primarily: clashes/school timetable (which you've already mentioned) which runs based on blocks, staffing (this is a big one - they have to have a teacher qualified to teach the subject (or teachers in the case of multiple classes)) and student preference/interest (if only a few people choose it, chances are it won't run unless it's a priority subject)
Distance is an option like suggested above. A subject is more likely to run with enough interest. If you can get at least i'd say 10 people to support you in your request.. take it to your coordinator or the leader of the faculty/curriculum area for that subject.
Could you complain to the school?
You could. But you wouldn't win. I'd reframe your wording and go to your coordinator with a
justification of why the subject is important to you and your future goals. Perhaps that'd be better than a complaint.