One or both of us is/are confused.
PROBLEM: You want to set bin locations at the HQ level that are store-specific.
WHY YOU CAN'T DO THIS: As you have already noticed, the BinLocation field is part of the Item table (global information) and not the ItemDynamic (store specific) table. If Item GADGET-A has a bin location of 1 and GADGET-B has a bin location of 2, this information will be identical AT ALL STORES.
Changing the BinLocation field in this manner at the store level is pointless. If you have the item on hand at the store level, then you have it on hand. Using bin location = this store doesn't help anyone. WS51 could accomplish this, but to what end?
EVEN WORSE: If you issue a WS250, you will be changing the bin location value for all of the items on said worksheet at all of the stores that process the worksheet.
Are you trying to accomplish something other than what the HQ Item Properties Store Quantity tab and Store Operations 'Check Stores' features already provide?
There may be a way to set the BinLocation field like this:
4 stores (1,2,3,4) GADGET-A Bin Location = 134 (none at store 2) GADGET-B Bin Location = 3 (only available at store 3) GADGET-C Bin Location = 1234 (in stock at all stores)
My SQL-fu is not strong, maybe somebody else can help with this part...
For each ItemID you would want to SELECT from ItemDynamic the StoreIDs where Quantity > 0 (or perhaps Quantity > QuantityCommitted), concatenate the selected StoreID(s) and UPDATE Item.BinLocation for each Item.ID with the concatenated string.
You would then issue a WS250 for all items. This would be a 'snapshot' kind of thing, and you would want to perform this task on some sort of schedule.
Tom