Thanks for your response and the effort you put into it! Dividing the cities layer by population gives me control over the symbol and label styles, and I wasn't aware that the layer order affects the automatic labeling priority -- thanks for that tip. But I see a couple of issues. For one thing, when Manifold hides a label, it doesn't hide its symbol, but that is what I need in this case: one label for every point, with no unmatched points or labels (like what you'd see on a road or reference map). If I try to select the displayed labels to transfer the selection to the towns they are related to (and set the display attribute that way), the labels sometimes move around. And I can't get much control over the spacing between labels this way, either.
Let me provide a little more background into what I'm looking for: I want to create display attributes in the cities layer so when you make a map at specific scales, the attribute will tell you whether the city symbol and its label should be hidden or displayed (this will be repeated for various map scales). I'm going to be distributing the data with those display attributes, not the actual map. I want to control which cities are displayed by population and geographic distribution, so no parts of the map are cluttered or empty, and there's a fair amount of space between the labels.