How to combine difference with concatinate object
The union syntax addresses this:
translate([-40,-40,0]) 
difference() {
    union() {
        cube ([90,28,12]);

        translate([20,0,20]) 
        cube([12,12,12]);
    }

    translate([12,-.01,5]) 
    cube([12.7,28.02,14.02]);

    translate([65,-.01,5]) 
    cube([12.7,28.02,14.02]); 
}

It supports creating an object before the difference syntax is applied.