Hast du das schonmal genauer durchdacht?
Zu 1.: das kann sicherlich ein ganz normaler Wecker: du gibst dem Alarm einen bestimmten Titel und fertig (soweit der einfach Teil der Antwort )
Zu 2. Willst du das ortsabhängig machen? Also abhängig von bestimmten GPS-Koordinaten? Oder wie möchtest du die Erkennung "ich bin im Laden" vornehmen?
Zu 3.: die normale Kontakte-App scheint das nicht zu können; ich kann mir aber gut vorstellen, dass es hier bereits Lösungen im AppStore zu gibt - dieser Punkt wäre jetzt für mich der Interessanteste