President Obama is expected to nominate Chuck Hagel, a former Republican senator and Vietnam veteran, to be secretary of Defense, officials said, setting up a confirmation battle with lawmakers and interest groups critical of his views on Israel and Iran.