A few options:
1) Save the build status in the project file and exit the build at the reboot point. When the project is built again, it will continue with uncompleted steps. At the end of the build, save the project without build status so it starts at the beginning the next time. See
http://www.visualbuild.com/Manual/savestatussample.htm for ideas.
2) Use a conditional build rule for the pre-reboot group of steps, building only if some macro is defined. At the point where a reboot is required, create that macro (as a global macro) and exit the build. At the end of the build, delete the global macro so the build starts from the beginning the next time.
3) Break the build into two separate .bld projects. Build the first one when doing a full build (chaining to the second if a reboot is not needed), and the second one when starting from a reboot after the first finished.