No, I don't believe you can change the number of arguments mv will take. More than likely, it's a restriction on how long a command for your shell can be. Regardless, it's more effort than it's worth, and there are plenty of alternatives.
Like Tinkster said, you can use xargs. To be honest, I never quite got the hang of xargs and I'll let Tinkster field any questions about it
The find command is also very useful in situations like this. I assume you used a wildcard for your mv command, right? (Geez, I'd hate to think you typed over 3,000+ filenames by hand... even with tab-completion). You could use this command:
first, cd into the directory with the files
find . -maxdepth 1 -name "your_wildcard" -exec mv {} /path/to/destination/dir \;
You could also write a very simple shell script, issue multiple mv commands with more restrictive wildcards so that the mv command isn't overwhelmed, and a number of others.