Ok for 1 chocolate fish
You have set up all your bin locations (or locations as they are called in OpenERP). Normally these would roll up to a view location, but make the top level location (usually "Stock") an internal location as well. In the warehouse set up record, this is the default location for "location stock".
You presumably have an inwards goods location as well. For this location you need to set up chaining rules as follows:
chained location type: fixed location
chained location: stock (or whatever you called it)
chaining type: manual operation
This means that to get from inwards goods to stock a move is required, and OpenERP will create a transfer which you can process. At receipt of stock you need to split the transfer move by bin location. This is a bit weak as you need to change the location (but there is no lookup for the locations you have set up for this product, just all locations) and if you need to split a single receipt into two lines you can add a record - again not the most functional area but it works.
For the picking side, each sales order line should show the correct location to pick from and split the line across bin locations if required. Also, because the top of your tree is stock and this is an internal location the available stock calculates correctly.
Hope this helps - I did quite a bit with multi-location because I thought my client was going to use, but they decided to start off with just a simple single stock value but keep a record of where stock is in the product record and then move to stock by location later. When they do move we will do some extra development to make more usable around that receipting process, plus issues with multiple warehouses.