Concept:
The length of a vertical curve based on the permissible rate of change of grade is
\[
\boxed{
L=\frac{N}{r}\times l
}
\]
where
\[
N=\text{Algebraic difference of grades (\%)},
\]
\[
r=\text{Rate of change of grade (\% per interval)},
\]
\[
l=\text{Specified interval length (m)}.
\]
Step 1: Calculate the algebraic difference of grades.
Given,
\[
g_1=-3\%
\]
\[
g_2=+1\%
\]
Hence,
\[
N
=
|(-3)-(+1)|
=
4\%.
\]
Step 2: Calculate the curve length.
Rate of change of grade
\[
=
0.1\%
\text{ per }20\text{ m}
\]
Therefore,
\[
L
=
\frac{4}{0.1}\times20
=
40\times20
=
800\text{ m}
\]
Hence,
\[
\boxed{L=800\text{ m}}
\]
Therefore, the correct option is
\[
\boxed{(A)\;800\text{ m}.}
\]