I see 2 simple ways this could be done.. Either use disk/partition number or use the partition label.
HFS, HFS+, FAT, FAT32, NTFS, EXT2 and EXT3 all have/support labels and Chameleon already reads these labels.
Of course, the drawback of this method is if you have more than 1 partition with the same label but i don't think this would really be an issue with bootable partitions (since we probably all name them according to the OS they hold).
A file (be it com.apple.boot.plist or whatever) could contain a list of labels to be hidden. Before showing an entry, Chameleon could compare the label of this entry to those from the list and ignore it if it is declared in said list.
I'm just not sure if Chameleon reads the label on EXT2/EXT3 filesystems (I don't have linux installed at the moment and back when i did, my FS didn't have a label set). Can anyone confirm this ?
Note: Most linux disk utilities will not bother to ask for a label to a partition -- To give a partition a label use 'e2label /dev/sd?? label' (ex: 'e2label /dev/sda1 Linux').