How can I use the length of the offset to scale the avoidance force correctly and should the 'steeringForce' be an accumulation of all the avoidance forces for all the objects in contact with every feeler?
This is where the fuzzy logic comes in - for each ray you 'fuzzify' the input using a 'membership function' to get an attraction rating (eg for the path/food/whatever - values from 0 to 1) and an obstacle rating (for obstacles/enemies/etc - again 0 to 1). You subtract obstacle from attraction for all rays, and the ray left with the highest value shows the way you want to go. You can see this in action here (unfortunately I can't find the source code).