To summarise, what I would like are new server level permissions such as
• VIEW ANY METADATA (including catalog views, DMVs, msdb metadata)
• VIEW ANY DATA (in any database, except where a DENY over-rides)
which would behave a bit like the sysadmin role but with any CONTROL permissions removed. The sysadmin thing is important – you want to grant the access server-wide to a server role. You don’t want to be having to add database level access in order to get this server-wide access to work.
[Ideally I’d like to be able to take this even further, and have VIEW access to SSIS, SSRS and SSAS, as well as the RDBMS.]