The ideas you mentioned could be achieved using some CEs more, as a workaround. Could be not so nice as a default option, but anyway...
You could take a look to the already mentioned ideas, but more important, you could take a look to the workarounds that the RnD community has shared here and there - mostly on the RnD File Archive.
To resume the last comments on the Custom Elements posted by the users, CEs are already incredibly powerful - and that's lovely
> (3) the CEs could be able to change when collected by player
This is partly possible. As it does not make much sense to change something that is just removed (collected) from the playfield, you can instead change a CE when it is dropped or thrown again. This makes it possible to collect a packet of dynamite and drop three single pieces of dynamite that may be contained in this package. (Set the "collect count" value to "3" and add a "change when dropped" condition to change from "dynamite packet CE" to "dynamite piece CE".)