Yes, SWF should be able to handle this.
Yes, it seems you'll need to have your menu component know if the user is already participating in a flow (one that should be restored when activated) or if a new one should be started. Perhaps a session-state object storing the _flowExecutionId and _currentStateId for each link would be good enough.
In any case, SWF should be directly leverageable for this problem, though obviously we don't provide such a menu component out of the box.
If you need to support browser back button use, you could use continuations as well.
Core Spring Development Team