Why can't I add keyframes to dimensions
Dimensions are just a byproduct from actual geometry size multiplied by a factor determined from objects Scale property.

They are a user-interface convenience to show resulting object dimensions rather than just the actual Scale property of the object, as such they can't be animated directly.

To have size change over time animate the scale of the object instead by keyframing Scale X, Y or Z.

If you still need to obtain accurate dimensions or particular sizes, adjust the intended dimension so you get the length you want on that specific axis, let Blender calculate the corresponding Scale factor automatically, then keyframe the resulting factor from the corresponding axis Scale property instead.