Aby odpowiedzieć bezpośrednio na twoje pytanie:tak, możesz indeksować w lewo (zip, 5).
alter table tblName add index (zip(5));
A jeśli chcesz, aby zapytanie mogło używać indeksu do przeszukiwania wszystkich kolumn:
alter table tblName add index (cat_id, subcat_id, zip(5));