If I've understood you correctly, you can achieve this by creating a phone-only language model, loosely:
1) Create lexicon.txt and words.txt that maps phones->phones
b b
ah ah
k k
(etc etc)
2) Use prepare_lang.sh with --position-dependent-phones=false to create L.fst
3) Create a 1-gram .arpa file representing a language model that maps phones->phones and compile with arpa2fst
4) Call mkgraph.sh with these files to create HCLG.fst and pass that to your decoder
These might not be the precise filenames/arguments but roughly that's the gist. Other people have asked similar questions on this list before so you can search around a bit if you need more hints. Alternatively there is a binary that you can use to get the whole phone lattice but this will be after language model decoding/scoring (I believe - someone correct me if I'm wrong) so this isn't exactly what you're after.