I you wanted to take an OOP approach, you could create a class and then hide a lot of the repeated code in a single method:

    class Bit():
        ''' Simple class that holds values associated with a given bit. '''
        def __init__(self, val, status_msg, true_val, false_val):
            self.val = val
            self.status_msg = status_msg

            # Make sure the values are stored in a list for easy formatting later.
            if hasattr(true_val, '__iter__'):
                self.true = true_val
                self.false = false_val
            else:
                self.true = [true_val]
                self.false = [false_val]

        def compare(self, config):
            # The star-notation takes an iterable and it says `take each of my elements
            # as INDIVIDUAL parameters`.
            return self.status_msg.format(*self.true if self.val & config else *self.false)
       
From here all you would need to do I call the the `compare()` method for each of your objects and format the print the returned information:

    def read_config(bus, sensor, bits):
        conf = bus.read_byte_data(sensor, ACCESS_CONFIG)

        TH = decode_DS(bus.read_word_data(sensor, ACCESS_TH))
        TL = decode_DS(bus.read_word_data(sensor, ACCESS_TL))

        # These would be declared wherever DONE, TH_BIT, etc. were declared.
        # Ideallythey would be passed into the function in a list.         
        nvb = Bit(NVB, '\tNon-volatile memory is {}\n', 'BUSY', 'not busy')
        done = Bit(DONE, '\tConversion is {}\n', 'done', 'in process')
        th_bit = Bit(TH_BIT, '\t{} measured {} degrees Celsius or more\n',
                     ['HAVE', str(TH)], ['have NOT', str(TH)]))
        tl_bit = Bit(TL_BIT, '\t{} measured below {} degrees Celsius\n',
                     ['HAVE', str(TL)], ['have NOT', str(TL)])
        pol_hi = Bit(POL_HI, '\tThermostat output is Active {} (1 turns the {} on)\n',
                     ['HIGH', 'cooler'], ['LOW', 'heater'])
        one_shot = Bit(ONE_SHOT, '\tDevice is measuring {}\n', 'in One Shot mode', 'continuously')

        # I am assuming the objects above were passed into the funtion in
        # the `bits` list.
        print '\nStatus of DS1621 at address {}:'.format(sensor)
        for bit in bits:
            print bit.compare(config)

        return conf, TH, TL

As a general recommendation, I would pull as much repeated code into classes as possible. How you do this is up to you, but, based on your small snippet of code, this is how I would structure the classes.