Cuando dices "sql server" .. Te refires a MS SQL Server o a Mysql? (lo digo porque hablas de VARCHAR y .. demas ..)
Lo que es en Mysql .. el VARCHAR sólo tiene 255 caracteres alfanuméricos máximo 255.
Más información sobre el tipo de datos y rangos de estos para Mysql en:
http://www.mysql.com/doc/en/Column_types.html
Si te fijas .. Podrías usar:
Cita: TEXT
A BLOB or TEXT column with a maximum length of 65535 (2^16 - 1) characters.
Pero si miras méjor en esa página del manual de
MYSQL podrás ver algún otro típo de dato que se acomode a lo que realmente vas a almacenar ..
Y lo del GROUP BY .. revisa otra vez el mismo manual de Mysql .. Puedes agrupar (en Mysql por lo menos) con cualquier típo de dato .. Sólo hay que respetar su sintax de uso y los "Havig" si te hacen falta ...
http://www.mysql.com/doc/en/GROUP-BY-Functions.html
Un saludo,