The correct answer is $\boxed{\text{B}}$.
A support vector is a data point that lies on the decision boundary of a support vector machine (SVM). The decision boundary is the hyperplane that separates the data points into two classes.
In a hard-margin SVM, the decision boundary is chosen to maximize the margin, which is the distance between the decision boundary and the nearest data points. This means that the support vectors are the data points that are closest to the decision boundary.
If we add one more data point to the dataset, the decision boundary may change. If the new data point is on the same side of the decision boundary as the two support vectors, then the number of support vectors will remain at 2. However, if the new data point is on the opposite side of the decision boundary, then it will become a support vector, and the number of support vectors will increase to 3.
In general, the maximum possible number of support vectors for a dataset with $n$ data points is $n$. However, this is only possible if the data points are linearly separable. If the data points are not linearly separable, then there will always be some data points that are on the wrong side of the decision boundary, and these data points will be support vectors.
In the case of the question, we are told that the original dataset has $n>100$ data points and that the hyperplane has exactly 2 support vectors. This means that the data points are linearly separable. If we add one more data point to the dataset, the maximum possible number of support vectors for the new hyperplane is 3.