Congress will need to repeal the law that prevents him from being Secretary of Defense, but I doubt that will be a problem. The Democrats will fight many of Trump’s appointments but I don’t think that this will be one of them.
Congress doesn't need to repeal the law. They can simply issue a waiver, instead.
Well not that I see much reason for the law but they did it for General Marshall in 1950.
Mattis wouldn’t be the first defense secretary to require a congressional waiver. President Harry Truman appointed Gen. George Marshall to the position in 1950, nearly five years after he retired from the Army. Congress granted the waiver (at the time, the interval between active duty and defense secretary service was 10 years).
http://www.cnn.com/2016/11/21/politics/james-mattis-defense-secretary-waiver/
I don't think there will be to much opposition.
McConnell has been bought off with the appointment of his
wife as Sec. of Transportation. (Which I guessed would happen.)
McConnell will whip any recalcitrant Republican Senators in line. Democrats, well we'll see. I expect
McConnell's wife will be the last name submitted to the
Senate for confirmation (after all the rest have first been confirmed.)