SVG just addresses the presentation side of your application. It doesn't address how you need to model, store and handle the data. I think you need to do more brainstorming on what you need to accomplish and what are the differrent ways you can go about it.
I don't know how much leeway you have in using third party apps, but you can use Adobe SVG viewer to render your SVG maps. You can create SVG maps that are clickable, and put in script that can make it interactive
You will have to do the work of generating the SVG and implementing the path-finding algorithm, though. One way would be that your server can generate the SVG with the best path rendered in a differrent brighter color. There are plenty of ways you can go about it. As I said, you need to give more thought to this
You can use the Batik API, which can create an SVG. Another way would be to build a template SVG using Imaging Software which can output SVG (search for SVG Editor) and then use XPath to change certain elements (such as text or colour of certain items in your image), or attach scripts (which you could create dynamically too) and attach it to specific elements in the image. Its simple and fast.