Ability to use tags (hashtags or usertags)?

regarding the multiple data-types you mention for #, having a common data-type ancestor for them could help (see my suggestion at Data inheritance), but they could also have a common field all of them that holds back to them (has a reference back to them as a field of its own)

there is a problem doing such things with refs though that you can leave back garbage in the database if not careful at deletions (or sometimes you can’t avoid it since there are no item deletion events to cleanup your data items children). See Item deletion event