AFAIK, varchars under (8000) chars are handled the same; no performance difference when they are included with the rest of the data you are selecting...unless you are SEARCHING tha column with a WHERE statement;
if you had to search for a value in the column, it will require a tablescan every time. THAT slows things down.
to improve that issue, you would want to add an index, right> and that is where you need to make the smart decision:
the max width of an index is ~900 chars...so that means you can create an index on a varchar(900), but not one on a varchar(1024);
so if the column is ever going to be used in a WHERE statement, you want to do your best to keep them small (or add full text indexing, and all that implies)
keep in mind that indexes based on smaller columns are more tightly packed into the pages of memory, so they tend to be faster...instead of reading 10 pages, you might read only 1 or two for a specific value that was indexed...if the index was based on varchar(20) instead of varchar(900)
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!