So they way I would see this working would be to make some items "gallery items" which, upon use, go into your "gallery" which is displayed by your posts. So like, once it goes in it cannot come out. It probably wouldn't be *that* hard to code.
I would accomplish this by have a new table called "shop_gallery" or something like that. It could contain a list of gallery item id's, group the gallery item belongs to, and pictures.
You would then have a new row in the members database that contains an array of all the gallery item ids which the member has.
The display code would then like sort the items by group and output the the result.
PHP does have a sort function on arrays, right? That would be the only major hook-up.