One way to hold heat for a long time is to use a material with a high specific heat. The specific heat of rice is about 1.8 kJ/kg.K. Pearl barley is better, with a specific heat of about 2.8 kJ/kg.K, and buckwheat is better still, at 3.2-3.8 kJ/kg.K. (Water has a specific heat of 4.2 kJ/kg.K.).
To do much better than this, you would need to use a material that changed state from solid to liquid at about the temperature that you want to maintain. You proabably won't find such a material in your kitchen, but physiotherapy stores may carry packets of a specially formulated gel that changes state at a little above body temperature, for use in heat treatment of sprains. This gel can stay hot longer than rice, since it stores the latent heat associated with its change from solid to liquid in addition to the heat associated with its elevated temperature.