I need to construct channel code for 5 bits of information for a wireless channel. Possible code rate could be as low as 1/128 (very reliable). At decoder I assume to use channel LLRs as decoder input to take into account channel conditions. At a first glance I'd use a repetition code (or spreading sequence) thus there will be 2^5 coded word in total and use ML decoder (correlation with each code word). These seems to be simple in realization. Are there any other types of channel codes for such requirements.
Since you say you want to take the channel conditions into account, one thing that immediately comes to mind is to suggest an adaptive link. Assuming you have access to the channel conditions, you can do two things to adjust the link:
Change the modulation: for example, think about using a higher order scheme like 16 QAM for "clear" channel conditions and using QPSK or BPSK for worse channel conditions.
Change the code rate of the channel code: this can be done by choosing a code with some rate, then depending on the channel you can perform puncturing to remove some parity bits (thus increase rate) when the channel is "clear".