1. At the moment, my map has 23 actual, visitable locations. It's only dawned on me in the last few days that this means that I may actually have to create 23 location graphics, so I'm thinking of ways to cut down the number of locations, and to reuse some location graphics, especially since some of these locations are mainly present for flavour. I have four puzzle "sets", you might say, each of which consists of 2-4 puzzles, by your definition.
2. Can there be such a thing as too small a text adventure game? Even one location can be enough. In terms of puzzles, though, I'd like to have a good handful; a bare minimum of 3, I should say, by your definition. Let's not bicker over "one move" games like "Aisle", since they're clearly intended to be played multiple "times" in rapid succession. :)
3. I feel that "too big" depends on the relative density of interactive elements, not absolute size. A game with an enormous absolute size might be tiring, even if well-crafted, but I think that it's more common for adventures to be created with more locations than the amount of interactive elements (objects, puzzles, examinable scenery) can support. It's tempting to create locations because they should "logically" be present (especially when working in text only), even when they have nothing to do with the puzzles or story. The narration in my game jam entry is in the past tense this time, so it feels like less of a cop-out to tell the player, "I didn't go that way," in some interesting way, rather than having to say, "I don't want to go that way," and have the player wondering, "Why on Earth not?!"
I've never thought specifically about "ensuring engagement", but it's a very interesting train of thought. I guess that I've taken a sort of "all roads lead to Rome" approach; I try to give interesting responses for every reasonable action that I can imagine a player trying to take, but also slipping in hints and references to continually highlight what I think they "should" be doing. The difficulty is making it appear natural, and not hitting the player over the head with it. If the player wants to explore my little world, that's great, but I want to make sure that they're never at a complete loss for a next step. At the same time, I don't want to take all the fun out of the game by telling them exactly what to do next.