finding names of un-named list elements
You could have used identical to compare objects. However, I would recommend representing all objects by their MD5 digests, so you can then use match to find the matches:

nameListObjects &lt;- function(LIST, ENV = NULL, NAMES.ONLY = FALSE) {

  if(is.null(ENV)) ENV &lt;- .GlobalEnv
  require(digest)
  list.md5   &lt;- sapply(LIST, digest)
  env.names  &lt;- ls(envir = ENV)
  env.md5    &lt;- sapply(env.names, function(x)digest(get(x, envir = ENV)))
  list.names &lt;- env.names[match(list.md5, env.md5)]

  if(NAMES.ONLY) list.names else setNames(LIST, list.names)
}

nameListObjects(modelList, NAMES.ONLY=TRUE)
[1] "mod1" "mod2" "mod3" "mod4" "mod5" "mod6"