A respondent ID is completely unique and only retrieves the one response to a given survey.
When you call get_respondent_list you retrieve a list of respondent ids (and associated metadata), and can then feed as many or as little of these as you want into get_responses to get the responses associated with these respondent ids.
For a survey with 25,000 respondents, you can make 25 requests to get all the respondent ids (1000 at at time), then make 250 requests to get the actual response data (there is a limit of 100 responses at a time).
You should be able to get any amount up to our limits - we have structured limits to our API (like the page size above, max of 200 questions in a survey, etc) to ensure that the data in the response is not too big and that the system can handle it.
We have a specific page about general limits here: https://developer.surveymonkey.com/mashery/limits and the documentation for each API method documents any specific limits for that method, e.g. https://developer.surveymonkey.com/mashery/get_respondent_list and https://developer.surveymonkey.com/mashery/get_responses