My first instinct was to say that if someone takes a candid shot of Heigl shopping at Duane Reade, how can she object? But when Duane Reade uses it in a tweet to tout their business, they do imply that Heigl endorses Duane Reade. Essentially they're using her imagine in a Duane Reade commercial without her consent and without compensation. She'll win that case.
$6 million dollars is far too extreme, for starters. Furthermore, she should know as someone famous that her picture is often taken and printed. The company didn't say she endorsed them. They simply posted a photo of her holding shopping bags from them. She did shop there, so it wasn't a lie.
Most celebrities are not famous only for their talent but often mostly for the way in which they manipulate their public relations. So a celebrity should pretty much be grateful for any pr that is received and out in public they are fair game for photos. This is very petty of her.
The picture and subsequent tweet were taken while she was in the parking lot outside of the store. She has no privacy protection while out in public. It's the same thing if a paparazzi took her photo and posted it in a magazine. I also highly doubt the drugstore profited all that much through the use of her image.