Is the MD5 algorithm only useful for bytes, rather than bits?
If I wanted to write an MD5 implementation that also accepts files, does the bit/byte distinction become important?

No, a byte implementation is fine. In modern OSes, hashing from a file, pipe, string (whatever the encoding) is hashing bytes.
The only times I made and used an implementation of a hash with bit support was to make or check test vectors. But I can imagine a few use cases that would require bit support

hashing the expression as a minimum number of bits of an integer (per some specified endianness), for an hypothetical algorithm specifying that.
one wants a few variants of MD5, and obtains these by appending a suffix shorter than a byte to a bytestring fed to MD5. For 15-byte messages that makes a computational saving compared to appending a whole byte (one internal padded message block of 32 bytes rather than two), plus avoids trivial collisions with regular MD5.