For going the FreeBSD From Scratch way, you need to have:
A running FreeBSD system with sources and a ports tree.
At least one unused partition where the new system will be installed.
Experience with running mergemaster(8). Or at least no fear doing so.
If you have no or only a slow link to the Internet: the distfiles for your favorite ports.
Basic knowledge of shell scripting with the Bourne shell, sh(1).
Finally, you should also be able to tell your boot loader how to boot the new system, either interactively, or by means of a config file.