That's an excellent idea. Phoenix does support (1) & (2), but we don't support adding a secondary index on a dynamic column. However, there's really no reason why we couldn't - we've never had anyone ask for this. Our mutable secondary index support is done at the HBase level, so as long as only Puts and Deletes are done on the data, it should work fine. We'd just need to add the syntax for dynamic column declaration for CREATE INDEX to our grammar.
What's the use case you have in mind? Keep in mind too, that adding secondary indexes has an impact on write performance (from the HBase POV, your doing two Puts instead of one and there's some cost associated with the incremental maintenance).