The first thing is to recognize that when you call $(this), jQuery does at least a couple of function calls and a memory allocation. So you really want to cache the result and reuse it.
The second thing is that find has to do work, so, again, cache the result:
var branch = $(this).closest('.branch');
var fcolor = branch.find('input[name="fcolor"]:checked').val();
var bcolor = branch.find('input[name="bcolor"]:checked').val();
var sidec = branch.find('input[name="sidec"]:checked').val();
var linec = branch.find('input[name="linec"]:checked').val();
No, there's still some repeating there; you could create a function for "get me the value of the checkbox matching X":
function getCheckedValue(ancestor, name) {
return ancestor.find('input[name=' + name + ']:checked').val();
}
So then:
var branch = $(this).closest('.branch');
var fcolor = getCheckedValue(branch, 'fcolor');
var bcolor = getCheckedValue(branch, 'bcolor');
var sidec = getCheckedValue(branch, 'sidec');
var linec = getCheckedValue(branch, 'linec');
And then, if you really want, you can get into having a list of these names and looping through it, at which point depending on your situation, it may be perfectly justifiable, or it may be complexity you don't need.