How can I add a "weight" functionality to nodes?
You could for example use Nodequeue to create  fixed list of nodes and then show that as the front page (as a view I guess).

Or, you could define your own weight field (for example a simple integer field, or a select with options from -50  to 50) and then create a view of nodes which you sort based on that field.