Are flash memory and ROM also considered integrated circuits? And so, is it possible to embed a flash memory or a ROM into an ASIC?
A ROM which is constructed on a monolithic device would be an integrated circuit. A ROM which is constructed using discrete decoders, multiplexers, and diode matrices (such things existed long before integrated circuits were ever constructed) would not be.
It is extremely common to embed ROM within an ASIC; it is somewhat less common to embed flash memory. Flash memory is very useful in things like microcontrollers, since it allows a single kind of stock microcontroller part to be sold to many different customers for many different applications. Many ASICs are made for sale to a particular customer for particular requirements, and in many cases that customer will know what is required. Consequently, it is far more common for an ASIC to be paired with a "masked" ROM whose contents are permanently established when the chip is manufactured. If a device isn't going to be upgradable after it is sold, the only advantage of a flash device over a masked ROM would be the ability of the manufacturer to make firmware revisions between the time a chip is manufactured and the time the containing device is sold. In many cases, it will be more cost-effective for the manufacturer to invest extra time and effort making sure the final firmware is ready before the device is built than to spend the extra manufacturing costs of making the chip upgradable after the fact.
Flash memory is available for common processes as IP block / hard macro from the fab in different sizes or as an output from a memory generator. The die area used is generally higher than using a masked ROM the same size. Also an increased test procedure during wafer or package test has to be considered to sort out all early lifetime failures (need some wafer baking and freezing process during production test).