One posible way of not displaying tcodes in the menu list is by removing tcodes from the menu tab in PFCG role maintenance and adding them via S_TCODE. But, in this case you should be aware of the objects which will checked in authority-check and need to be maintained in the role for the transactions.
I am not in full agreement with this approach, SAP has given functionality for selection between role menu and sap menu. Then why to take the toughest way out and remove them from PFCG->Menu just because you want them not to see it and remove the option of click-and-run from menu.
What you have suggested is based on a global approach or on a user based approach.
What I have suggested is based on a role based approach, wherein if the organization wishes not to display the transactions in the easy access menu for certain roles. Ofcourse it is not an easy approach and has to be catered to during the role design itself.
The other possible method, which i prefer, is to have the tcodes added as Authorization Default rather than a transaction. This would still enable to have all the auth objects checked for the tcode to be embedded in the role including S_TCODE. You would see it in the role with a different icon but when the user log in, they would not see it in the menu.
This is the approach i take when we have to add any dependent transactions to the role but not visible to the user. As an example, the Time Entry tcode CAT2 triggers the Trave Mgmt tcode PR05 but the users do not need to see this later tcode in their menu.
Hope this answers your question.
No that is not what i am referring to.
In PFCG, on the Menu tab, you have different options to add the tcodes/reports to the role. One of them is Authorization default, which is what i am referring to.
Create a test role using this icon and assign a tcode. You will notice what i did explain in my earlier reply.
If you need any help, let me know and i will be glad to do it.