I would probably go about it the same way as the documentation supplied does, but with the addition of making the base price a variable that you can use to add your additional costs. Applying the variable inside the function will keep it localized so if you have a base price in another function it will not bother the code.
*Note I didn't test it, just a thought of how I would give it a go.
simpleCart.bind('beforeAdd', function (item) {
var basePrice = 10;
if (item.get('size') == 'Small') {
item.price(basePrice + 2);
} else if (item.get('size') == 'Large') {
item.price(basePrice + 2);
} else if (item.get('size') == 'Long' && item.get('otherProperty')) {
item.price(basePrice + 9);
}
});