Should not be marked as deprecated
I believe that this tag has a valid use, and therefore should not be marked as deprecated. Occasionally there are ways that one might expect to be a type of highway, but are not. In such cases, while it would be correct to miss out the highway=* tag, doing so may lead other mappers to believe that it's an error, or that the precise highway value needs to be checked. Allowing the use of highway=no allows mappers to explicitly tag that the way is not a highway of any sort. Without this option, there would be no machine-readable way to distinguish between a way that has been surveyed and found not to be a highway, and one that hasn't been surveyed and hence its highway status is uncertain. The suggested alternative of highway=*, access=no does not capture this circumstance, as it would involve incorrectly marking the way as a highway when it is not.
The particular use-case that I have in mind is for Public Rights of Way in England and Wales. Here there are legal "Definitive Lines" of routes along which there is a legal right to travel. However, sometimes these legal lines are not present on the ground, and may even be obstructed by hedges, ditches, buildings etc. In order to correctly map and tag the legal lines it is necessary to record: (a) the legal right to travel here, (b) whether there is a physical highway present and if so what sort, and (c) if the physical access differs from the legal access. All four combinations of (b) and (c) are possible. (No highway and inaccessible, no highway but accessible, highway but obstructed so inaccessible, and highway and accessible.) highway=no is the best option for marking the cases where there is no highway physically present on the ground. This may or may not also mean that access is physically impossible.