In the Twenty Ten theme they are using a file called loop.php. It defines the loop for different page templates and defines theme accordingly inside loop.php. That’s what allows them to use get_template_part.
Depending on your theme and how it’s set up will determine how to go what your asking. If all of your pages or single posts will show only one post or one page’s content you could use CSS to control the output so it was a centered block on the page when displayed.
If you wanted to use a centered single post template and normal layout on other pages, you could assign a custom class to the page you want centered by using an existing page template or by creating a custom template and assigning the pages to that template inside of the page editor.
There are several different options. If you have additional info I might be able to be more specific on “How To”.