Hay mogollón de ejemplos de drag and drop en .NET, busca un poco y te salen.
Respecto a la segunda pregunta los nodos tienen una propiedad Tag donde puedes meter lo que sea. Normalmente lo que haces es meter en el Tag el objeto que quieras y en la propiedad Text o Items (en el ListView) pones ciertos campos del objeto que te interese mostrar en pantalla.
Un saludo,
Vicente