ref is not a good idea because “It is also used for shops and amenities that are numbered officially as part of a retail brand or network respectively” (Key:ref - OpenStreetMap Wiki).
Normally, I’d just use ref=* for a numbering system if there isn’t a conflicting one. But since you’ve identified a likely conflict, you’ll need a different key. loc_ref=* is part of a local/regional/national/international scheme for distinguishing numbering schemes by how geographically important they are, such as a city-assigned number versus a nationally assigned number. But a chain store isn’t guaranteed to be non-local either.
Instead, I’d probably use the similarly named local_ref=*, which is normally used on bus stops in a bus station that are numbered similarly. These aren’t bus stops, but it’s an analogous situation. Alternatively, you could fully indoor-map the mall, then tag any room numbers as ref=* on the rooms that the POIs occupy (keeping the POIs separate from the room areas).
As a Canadian, addr:unit is my first instinct for these… well, addresses. The terms used might differ elsewhere around the world, so perhaps that’s not used everywhere?
It depends. In my experience in the U.S., the individual shops within a strip mall are often given formal unit or suite numbers for addressing, but the shops within an enclosed mall might only be formally addressable by the floor number. Alphanumeric codes like in the example map linked earlier would be more like room numbers, for the convenience of store patrons but not for any addressing authority. That said, I have often put room numbers in addr:unit=* at airports and in university buildings; maybe it wouldn’t be such a stretch at a mall. It would be a lot clearer if we had a key for indicating the type of unit number that’s in addr:unit=* (suite, room, mailstop, etc.).
Personally, I tend to stick to the address that the shop actually uses for themselves, for example in a store locator or on a receipt. The codes on the example map look like something I tend to see in an outlet mall. The store might give directions to the space in terms of this code, but separate from their address; in the absence of these codes, they might say they’re near some anchor store instead.
To elaborate, a shop in an airport might say they’re at a certain gate, and there might be a sign with a room number on it. The shop may or may not refer to the room number. An office in the airport would have a similar sign, like this airline’s OSM office: