I 'hide' channels by deleting them in the uid.sys (I think) file. There's a java app on a gbatemp thread somewhere that does it via a nice GUI. As the system menu needs an entry in this file, the games don't show once removed. As postloader doesn't seem to read it so still shows all games for you. The only downside I've come across is that once a game is played it is re-inserted into the uid.sys file and so re-appears in the system menu. Every now and again you may need to have a little 'clean' to remove the entries again (I've only ever needed to once).
Also, when the game isn't in the uid.sys you can't see the saved game data for it as the entry is needed. However as soon as a game is played and an entry put back in the file, the old save game data is immediately accessible and it doesn't appear to have harmed the data in any way.
I remember having a to and fro with stfour once about this and he talked about possibly implementing a 'clean uid.sys' feature into pl3 but the idea dropped off the radar with all the other (probably more useful) features he put in!! As it stands I don't think it's needed to be honest. It was much more important before neek2o came along as the 'original' NEEK seemed to have a real problem (at least for me) with big NANDS. Clearing down the uid.sys allowed it to start much more reliably.