How about using modules Node_convert, and Flag (which is obviously a must have for what you're looking for)? About Node convert (from it's project page):
adds a menu tab "Convert" on the node view page, i.e. node/1/convert, which gives the ability to convert the node from its current node type to another node type. The module provides the means to transfer all the field values of the current node type into fields on the destination node type, or discard them.
I'm using Node_convert already for long time, works great. It allows for implementing a lifecycle (or workflow?) to start from a node that is only just something like an idea (or suggestion, question, issue, abstract, etc). Those ideas that get the highest votings, are the ones that seem to make sense to handle with highest priority. Compare it to a 'Question' with a lot of votes, but with hardly any (or no) answers.
When the node's content evolves (read: the more effort/details added to it), I convert its content type to finished products like (eg) a recipe, a redbook (already from my Drupal 6 days a few years ago).
By combining it with some type of access module (related to either taxonomy or content type) I can make it more restrictive to give access to it. E.g. public to start from, then "authenticated", and in the end only for roles such as "subscribers", "students", etc.
Maybe you also want to consider Fivestar and/or Voting API (I have the impression that "Voting" is a kind of synomym of what you mean with "Nominate").
And of course: use Views as you are considering already. To continue my samples above: using some basics Views reports, you can easily massage it all in a todo list also.