(1) The lowest-level instructions that directly control a microprocessor. A single machine-language instruction typically translates into several microcode instructions.
In modern PC microprocessors, the microcode is hardwired and can't be modified. Some RISC designs go one step further by completely eliminating the microcode level so that machine instructions directly control the processor. At the other end of the spectrum, some mainframe and minicomputer architectures utilize programmable microcode. In this case, the microcode is stored in EEPROM, which can be modified. This is called microprogramming.
(2) Some people use microcode as a synonym of firmware.