I understand FIR & IIR digital filters are often implemented in fixed point DSP hardware. I have also seen them implemented in software. Do companies make special purpose digital filtering chips that use floating point precision (float) and (double)? When fixed point hardware is used, what are the choices for the bits of precision?
Almost all such programming is done in C, which means that 16 bits (shorts) and 32 bits (ints) make sense. I doubt it will surprise you that most chips support those bit widths, with 16 bits being a particular favorite because it is wide enough to be useful and narrow enough to be power efficient, small, and fast.
I believe that there are a few chips that operate on 12 bits, but that is much rarer than the 16 bit chips.
Most higher-end DSP chips have single-cycle multiply floating point hardware. Examples are Analog Devices Sharc or Texas Instruments C6X.
Audio processing is an interesting case for fixed point. 32-bit is overkill, while 16-bit is really not enough for processing. 24-bit is therefore a good choice, and the Motorola (Freescale) 56k processors operate in 24-bit fixed point.
Some fixed point processors have different word sizes for different purposes. Accumulators often have wider word width (I have seen 48, 56, 64 and 80 bits). There is an automotive chip that uses 14 bits for coefficients and 18 bits for data.
Most fixed-point DSP chips have 16, 24 or 32 bit integer operations. That said, most of them also provide fixed-point DSP libraries that usually operate in a specific Q format. For example, some 24-bit arithmetic chips (e.g. Wolfson) supplies a DSP library that operates on Q3.20 fixed-point numbers.
The choice of bits is specific to the algorithm and the perfomance required from it. For example an echo cancellation algorithm might not work at all at 8 bit or 12 bit precision and we might need to go for 16 or 24 bit precision. Usually we search of lowest number of bits that can satisfy our requirements.