Calories in is just a rough measure, as absorption is non-linier as you suggest.
The more you eat the less your body will absorb, as your digestive system will digest and absorb more of a 100Kcal meal that a 300Kcal meal. Also the more you consume higher your metabolic rate will be, while the converse it also true. Because of that you you have to restrict your calorie intake by a fair amount to lose weight, and overeat by so much to start gaining weight. Don't forget that all calories are not created equally, as some foods are digested better that others, and different combinations of fat, protein and carbohydrates will affect digestion. The addition of simple carbohydrates raise insulin which can also increase absorption, which is great for gaining weight and stimulating your appetite.