"Route reuse" + looking for general advice

As far as I can understand, it looks like you want an SPA application where Elm has control over the whole UI.

About reusing the data and every thing, I thing it is as simple as storing the models of both view in separate entries, and just display the appropriate view based on the current route.

I’m on my phone, so it’s hard to type some code and may introduce some typos, but I see something like

type alias Model =
   { formModel : FormModel
   ,  listModel : ListModel
   ,  currentRoute : Route
  }

type Route
    = FormRoute
    | ListRoute

Use the Browser.Navigation lib to control the Url, and in your view, just use the appropriate view based on the value of currentRoute.