You can set an empty passphrase (no passphrase). As far as the maximum, you are theoretically limited only by external factors, such as the size allowed by a sha-1 hash, etc. Practically, I have created up to an 8020 character passphrase, which seems to be about the limit that the Command Prompt on a Windows box will hold. I could modify that only slightly by using a shorter username, etc., so it would seem that whatever command interface you are using is most likely going to impose your limit.
I imagine I would find it difficult to perform all necessary operations if my key passphrase is going to occupy the majority of available space, but there are other ways to call out a passphrase. I would consider the option of around 8000 characters a bit heavy-handed, but it is doable.