FFT of a periodic function
In reverse order,


Yes the sampling frequency needs to be a multiple of $f_0$.
The number of cycles of the sinusoid in $N$ samples needs to be an
integer, not necessarily a prime number.
If you do 3. and 2., all the energy will be concentrated in two bins
(corresponding to $100$ Hz and $-100$ Hz. 


Be careful, though. If you have a sinusoid $x(t)=\sin(2\pi (100) t)$ at 100 Hz
and you sample it at 1000 Hz, you will have $10$ samples per cycle of the
waveform. With $x[0] = 0$ and $x[9] \neq 0$, you can do an "FFT"
of length $10$ if you like, and all the energy will be in $X[1]$ and $X[9]$.
I put FFT in quotation marks because at such short lengths, a plain
vanilla brute-force DFT calculation might be almost as fast. Note also
that $x[10] = 0$ is not part of the DFT calculation.
Alternatively, you can use $N = 10n$ samples and do an FFT of length $1000$  (say) on samples $x[0]$ through $x[999]$.  In this case, the 
energy will all be in $X[10]$ and $X[1014]$.
Regardless of what some other answers will likely tell you,


  DO NOT zero-pad the length $1000$ FFT to length $1024$ to get an
  "efficient" implementation.


If you do follow the advice on zero-padding, your length-$1024$ FFT
will NOT have the energy concentrated in two bins as you desire.