You can solve this by setting location inventory status: define for item X on site/location Y inventory status XXX which allows ISS-SO transaction and then define for same item on site/location Z inventory status ZZZ which have restrictied ISS-SO transaction. That means you will be able to ship same item from site/location Y, but not from site/location Z.
Create a new location with a status code that is not available and then make sure the RESERVED LOCATION flag = yes. you can then list which customers are only allowed to use this location. Any inventory you put into this will only be used for the customers on the list