ヒントだけでいいのかな?
要は、フォームから送られてくるデータを各グループ(地域、メーカー、装備 etc.)に分類できるようにして、
各グループ内ではor グループ間に対してand したい、ってことになるよね。

まずは、そのグループ化をどうやって実現すればいいかを考えてみればいいんじゃないかな。
(1つのグループの中に)複数のcheckboxがあるとして、
それらのnameが同一 -> グループ化した値がcgiに渡される (そのサイトでのボディタイプ)
それらのnameが異なる -> それぞれ別名の値 (そのサイトでの装備)