Правильно: в магазин.
Чтобы выразить нужный смысл, фразу придется перестраивать. Например: в 51 (пятидесяти одной) торговой точке, среди которых строительные магазины и рынки.
Сочетания находиться на магазине, работать на магазине могут быть употреблены только в одном значениии - "на крыше магазина". В остальных значениях следует использовать предлог В: в магазине.
Оба варианта корректны.
На первый взгляд может показаться, что значения прилагательных огородный и огороднический дают возможность охарактеризовать магазин обоими словами. Огородный — 'относящийся к огороду, связанный с ним'; огороднический — 'относящийся к огородничеству, огородникам'. Но прилагательное садово-огородный, соотносимое со словами сад и огород, закрепилось как характеристика магазина, а также инвентаря, инструментов для сада и огорода. Садово-огороднический употребительно в названиях таких организаций, как товарищество, объединение, кооператив и под. Рекомендуем придерживаться сложившейся практики словоупотребления.
Грамматически верно: в кассах.