Hi, welcome to the Tinderbox user-to-user forum. Hopefully I can answer some of this
#1. I don’t think so, though not by negative intent by the app.
I’m not sure many people understand what ‘block’ means. I assume you’re referring to paragraph† based addressing as recently (re-)popularised by Roam‡? It isn’t a norm, even if it is in some editors (especially for text editors who are programmers, used to an IDE and the notion of code blocks). No shade there, just calibrating starting point-of-view.
The fact that Tinderbox allows target-anchors in to-$Text text links means it is likely possible. However, it is worth writing in to the developer if keen for this (here it is a user-to-user forum), not least to be able to surface any unstated assumptions.
If you follow a text link with a target anchor (a $Text to $Text link) the $Text area scrolls to show the target anchor highlighted. So the app has a notion of a target anchor but perhaps not in a pop-up preview
So, in recap: not now, but perhaps—if you ask the developer for a new feature: email@example.com.
Part of the issue is that text tools, unless highly derivative (i.e. popular app but + a new feature), approach text (indeed title vs title+discrete-text) differently. There is no right/wrong, just what we’re individually most used to. So app B not having app A’s features isn’t conceptual opposition but possibly a completely different design approach (ergo, some ‘alignment’ feature requests are easier to achieve than others).
#2. Yes and no. No in the manner described, but Yes if you employ isDuplicateName(item). You can test it via a rule, but as you’ve many notes, an edict or an agent might be a better way to to this so you only check occasionally/on-demand rather than always (thus leeching cycles better used on more urgent things.
Note that Tinderbox allows duplicate names not just in different locations but even as siblings (in the underlying outline stricture). Note that all notes have a UID (the $ID value also more safely used in action code hashed as the $IDString value).
For example, we can see an agent revealing the $Name ‘beer’ is used by 3 notes:
Agents can be turned off or run at low priority if you don’t want the search ‘always on’.
Having detected the problem you can set any visual attribute you like if you wish to visibly flag this issues.
IOW, the app won’t do it for you, but lets you make such a process for yourself and decide how you want to flag it, in visual terms.
†. As in a substring between start/line-break, line-break-line-break, or line-break/end. This is only intuitive to a programmer.
‡. Engelbart was doing this in the '60s. Roam was quite late to the party.