1) Yes and no. The minimum and maximum available frequencies are determined in the kernel, along with a few other options such as governor choice. It's up to the kernel developer what they want to set those values to. *Most* custom kernels have the maximum available frequency higher than 998, but don't assume that just because it's a custom kernel that you will be able to overclock. That being said, if you flash a custom kernel such as netarchy or ziggy's, you will definitely be able to raise the maximum.
2) Most kernels allow you to set the frequency higher than most phones will actually be able to overclock to, and still be stable. Netarchy, for example, can be overclocked to 1267 MHz. If you raised the slider up that high, your phone would immediately lock up and reboot. If you had he option set to set at boot, you'd end up in a bootloop that only a nandroid restore could fix. So, needless to say, when testing the max, leave that option unchecked. Most people are able to overclock to 1152 MHz, and have everything run stable. Some can go up to 1190, and even a little higher. It also depends on the kernel. You might be able to go up to 1190 on one kernel, but only 1152 on another.
3) Maybe. Other things can cause both smoothness and choppiness. Governor (scaling) choice, for example, will play a huge role here, too. Likely, though, unless you overclock as high as 1152 - 1190, you probably won't notice much. Even then, don't expect to see a huge gain in real world use. Try it out and see.