I understand the hangup that comments shouldn't be code. Let's suppose, instead, that PHP formalizes annotations into the language (like Java, C#, and others have done). Such as...
No comments anymore, so this ought to alleviate that icky feeling.
Yet all we actually did was change the token used to denote an annotation. Were there any practical issues we solved by doing this? After all, docblocks were already treated specially. Internally, PHP already distinguishes a docblock from a comment. Opcode caches take docblocks into account, but ignore comments. Reflection also takes docblocks into account, but ignores comments.
Maybe it's time we stop thinking of docblocks as comments and start thinking of them as a language construct. They already behave that way.