I could probably do this with a view, displaying an otherwise publicly inaccessible node.
I could probably do it better using a custom designed HTML form, with a bit of PHP in the node to pull a record from the database.
Yes. Could be done with a View, a Panel (panels module) or with just a bit of PHP to use load_node to show the nodes in question, in whatever layout you want. Then each section of your page is a separate node.
HTH