Just like rc(8), apachectl acquires httpd_flag settings from rc.conf(8). rc.conf will source variables from rc.conf.local if it exists (the last two lines of rc.conf or rc.conf.local that you have commented out perform that function).
You have a recursion problem. My guess is that you
copied rc.conf to rc.conf.local. That is not a valid rc.conf.local configuration. rc.conf.local should
only contain local changes to rc(8) variables. For example, if on installation of OpenBSD, you elected not to have an sshd(8) service running, the install script will create a one-line rc.conf.local file containing
sshd_flags=NO.
If you intend to use rc.conf.local, which is a best practice, please ensure that /etc/rc.conf is in the exact state it had when originally installed, and place only your local changes in rc.conf.local.
If you need to restore /etc/rc.conf, here is a link to a copy of rc.conf for 4.5-release:
http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/rc?rev=1.321;content-type=text%2Fplain
And in case you are using 4.4-release, here is a link to that version:
http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/etc/rc?rev=1.318;content-type=text%2Fplain