there is quite a large amount of work done in this direction - and a lot of discussions going on.
Two implementations are maintained - NDN for RIOT and CCN-lite for RIOT - the former is done by UCL, the latter by Cenk (HAW Hamburg).
Berlin & Hamburg is currently executing the project I3 (http://i3.realmv6.org/) where many of the aspects you mention are addressed - see this year's papers + demo at the ICN conference: https://conferences.sigcomm.org/acm-icn/2017/program.html
ICNRG (https://trac.ietf.org/trac/irtf/wiki/icnrg) is also a good place to look at - many discussions go on there. Of particular interest are the documents:
* https://datatracker.ietf.org/doc/draft-gundogan-icnrg-ccnlowpan/ * https://datatracker.ietf.org/doc/draft-gundogan-icnrg-pub-iot/ (both in the process of updating)
Within the next few days we will also release a pre-print to the archive that discusses naming + pub-sub in the IoT.
Any further discussion and contact is very welcome!