How can I create a block cipher of a reduced size given a fixed length block cipher? I've been reading papers on variable sized block cipher constructions based on fixed-length block ciphers, and they tend to focus on increasing the block size. They either gloss over or speak too generally about decreasing the block size. (Or I'm just not getting it, which is possible)

On the Construction of Variable-Input-Length Ciphers
Efficient Constructions of Variable-Input-Length
Block Ciphers

While these are certainly helpful, I also need a way to encrypt a size much smaller than the usual block ciphers. For example, a credit card has 16 digits, which can be represented in 54 bits. To encrypt a credit card number to another one would require a 54-bit block cipher. (The 54-bits could be brought even lower if you consider that the first and last digits are not random)

Is there a way to do this in such a way that the security isn't brought below the chance of simply guessing the plaintext?
If I understand your problem, I think the best way would be to pad the plaintext bits to 128 bits (8 bytes) with zeros and then use a strong block cipher like AES (Rijndael). Of course, then your ciphertext will be 128 bits instead of the 54 (or whatever) you started with. You can trim these trailing zeros after decryption.  If you want the ciphertext to be the same length, you'll have to use a stream method, but which will not be as strong.