thank you for your help.
1. Regarding HBASE-5416, I think it's purpose is simple.
"Avoid loading column families that is irrelevant to filtering while scanning."
So, it can be applied to my 'dummy CF' case.
That is, a dummy CF can act like an 'relevant' CF to filtering, provided that HBase can select it while applying a rowkey filter, since a dummy CF has the rowkey data in its 'dummy' KeyValue object.
2. About rowkey.
What I meant is, I would include the field name as a component when the byte array for a rowkey is constructed.
3. About read-only-ness and the number of CF.
Thank you for your suggestion.
But since MemStore and BlockCache is separately managed on each column family, I'm a little concerned with the memory footprint.