Sure, all of these things are relatively easy to do with
d3. You can see lots of different examples of force directed graphs at http://bl.ocks.org/mbostock. Here are a couple that you might find useful:
Adding nodes and edges to a graph:
Loading data from an XML file to create a layout
Listening for mouse over
From personal experience I would say that
d3 would be the best tool for doing this sort of thing. I'd suggest playing around with it a bit and then asking more specific questions when you have them.