You can approach this with a larger goal of tracking order status, which could include holds but many other types of status values as well (e.g., shipped, sent, posted, etc). Alternatively, you can manage this with a terms field and assign a value of "Prepay" for those items that wont ship until payment is received.
If you want to just manage the hold, I would add a field "Hold_Indicator", which evaluates to 1 (true) and just assign it to a checkbox. Then your button can just perform a find for a value of 1 and you can uncheck it to release the hold.
easy solution.. sounds like it will work.. thanks