Short answer: You can't. The limit of a VARCHAR is 65535. You could use fields in the TEXT data type family if you need such an amount. Assuming 65535 is ok for you I'll continue with the answer.
Now, 65535 might not be possible either because that value might exceed the maximum amount of size per table row too. This is the error you could get:
ERROR 1118 (42000): Row size too large. The maximum row size for the
used table type, not counting BLOBs, is 65535. You have to change some
columns to TEXT or BLOBs
So you should decrease that value until you succeed in the creation of the field.
Assuming you have finally found that number... there is no security issue to be concerned about, that's for sure.
Regarding efficency... I would advice you to reach to an answer yourself empirically. I've been looking for an answer myself and I couldn't find it. Documentation says nothing about it so everything points to the fact that there is no performance decrement... except this post: http://stackoverflow.com/a/205472/268273
I've found that answer many times in SO but always that user mentioned that. If it is true or not I don't know and, as you can see, the origin seems to be nothing but gossip. Best thing you can do is give it a try :)