You will want no less then 3 days for both parks, 5 or more would be great!
For a hotel it really depends on what your require in a hotel. One thing to keep in mind is that everything at DL is really close together. The parks are about a football field away from each other. Hotels, both onsite and off, are walking distance. It really comes down to money and how much time you spend in your room. If you need a room for sleeping and a shower, then I would stay off site. If you think you'll want to spend time everyday lounging by the pool and in your room, then you might want to consider staying onsite.
We usually stay offsite. Our favorite is the candy cane inn. Its close (10 minute walk), they offer a free private shuttle if you dont want to walk, and they have a pretty good free breakfast. We spend our time in the parks, not at the hotel, so it works for us. The Hojo's (howard johnson) is also a favorite with many people. We have also stayed at the Fairfield and enjoyed our stay. One thing to be aware of if choosing offsite is many say "1 block" or "across the street"- that is not always what it sounds. Sometimes across the street or 1-2 blocks can really mean you are a mile or more away. YOu might want to ask here before you book to make sure you are getting what you think.
Reading the board here will probably give you all the info you need to know.