It was suggested on halfbakery.com that a pill could be created that would generate a comfortable heat in a person's gut. These are my thoughts on the subject.
The first problem is going to be finding a reaction that is sufficiently exothermic that the amount of stuff we can pack into a pill will give off the necessary heat. Obviously, the reaction should have no toxic or gaseous products. We might call this the "thermodynamic" part of the problem.
To give an idea of how much heat we need, let's adopt drinking a cup of hot tea as a model system. An 8 oz cup of hot tea at a "comfortable drinking temperature" of 65C contains 8 oz = 237 mL of water at 65 C - 37 C = 28 C above body temperature. The heat required to elevate 237 mL of water by 28 C is (237mL)(28C)(1 cal/CmL) = 6636 calories, or about 7 Kcal.
Dry calcium chloride (CaCl2) gives off about 18 Kcal/mol when dissolved in water. Dividing the required heat by the heat of solution of CaCl2 gives us (7 Kcal)/(18 Kcal/mol) = 0.39 moles of CaCl2 that we must dissolve to give off 7 Kcal. Unfortunately, the molar mass of CaCl2 is 111 g/mol, so 0.39 moles of it weighs 43 grams! With a density for CaCl2 of 2.15 g/mL, we're left with 20 mL of dry salt that we must consume. Even though the solution products are the harmless and physiologically ubiquitous ions Ca2+ and Cl-, the consumption of this much salt is bound to produce a strongly hypertonic solution in the gut, which will almost certainly cause dehydration and diahhrea.
A better candidate is calcium oxide (CaO), also known as quicklime. Although the hydration of calcium oxide is slightly less exothermic than that of calcium chloride at 15.5 Kcal/mol, it also has a significantly lower molar mass of 55 g/mol, meaning we can pack more reactivity into the same mass. It has higher density, too. What's more, besides heat, hydration of calcium oxide produces calcium hydroxide (CaOH2), a medium-strong base that will react exothermically with bile acid (HCl) to give off even more heat, water, and *hydrolyzed* calcium chloride (i.e. we're not going to get any more heat out of CaCl2 at this point).
Assuming that the biggest horse-pill we can swallow is 3 mL, multiplying by CaO's density of 3.35 g/mL gives us about 10g of CaO that we can reasonably ingest in a single pill. 10g CaO is 0.18 moles, so the hydration step alone should produce (0.18 moles)(15.5 Kcal/mol) = 2.8 Kcal. What's more, each mole of Ca(OH)2 is 2-normal in hydroxide, so we end up with 0.36 moles of base. Acid neutralization of hydroxide liberates 13.7 Kcal/mol as a rule, so we can expect an additional (0.36 mol)(13.7 Kcal/mol) = 4.9 Kcal from the acid-base chemistry. Summing contributions from hydration and neutralization of CaO gives us 2.8 Kcal + 4.9 Kcal = 7.7 Kcal given off by our 10g quicklime pill. From a strictly thermodynamic point of view, we could actually afford to make our horse-pill a bit smaller. Incidentally, the hydration of quicklime is, I believe, the same reaction that is used to heat MREs.
So it looks like we've solved the first part of the problem. We've found a reaction with the necessary energy density that is without toxic or gaseous byproducts. We're still basically eating a salt pill and have to contend with the expected consequences of that, but we haven't produced any particular substance that's going to poison us. The problem now is one of kinetics, i.e. it has to do with how fast things happen. The hydration and neutralization of quicklime in the stomach are going to happen lickety-split fast, and so we're essentially going to get all 7 Kcal dumped into the gut over the course of a few seconds. This will probably produce sufficient local heating to generate steam. What we need is a sustained release (SR) formulation for our pill that will prevent all of it from reacting at once.
More insight can be had from our model system. Although I've never tried it myself, my guess is that, while 65C may be a comfortable "sipping" temperature for hot tea, a person who took a whole cup at that temperature and slammed it down his or her throat all at once, which is approximately the same effect our pill would have, wouldn't be very happy or very comfortable. This, of course, is not how people drink hot beverages. It takes minutes to drink a cup of hot tea, during which time it probably cools considerably. To get a realistic idea of how much heat we actually absorb from a cup of hot tea, and how long it takes us to do it, it would be necessary to measure the temperature time-course of a real cup of tea as it is being consumed and integrate to get the area under the curve. This would not be a difficult experiment. Once we knew the absolute heat absorbed from a real hot beverage, we could adjust the absolute energy goal for our pill accordingly. More importantly, once we knew how long it takes to comfortably drink that beverage, we'd know the time-course over which our pill was expected to give off its energy. This information, in turn, would determine the composition of our SR formulation.
SR formulation entails a slowly-dissolving matrix which releases the active ingredient into the gut at a measured rate. This matrix, unfortunately, is going to add mass and volume to an already ungainly pill. Because we don't need a particularly long-lasting SR formulation, however, it's probably possible to keep the volume gain as low as 100%, i.e. we can probably safely assume that SR formulation will no more than double the volume of the pill. If we then half our target heat, so that one pill equals about half-a-cup of tea, we've both solved the pill-size problem and provided a more versatile dosing system: One pill for light warmth, two for full strength, and three for extra strength.
This is an interesting inquiry both because it is fairly easy to model and because it suggests a couple of simple experiments. The first, mentioned above, involves measuring the real heat absorbed by a real body from a real cup of hot tea, and the second, readily implied, is to pack 10g of quicklime into one or more gelcaps, dump them in an unstirred container of 0.1N HCl, and see what happens to the temperature and other observables.