Mitch needs to keep 500 * 3 = <<500*3=1500>>1500 for docking fees.
Thus, he needs to keep 500 + 3 * 500 = $<<500+3*500=2000>>2000 for license, registration, and docking fees.
He has 20000 - 2000 = $<<20000-2000=18000>>18000 left to spend on a boat.
Therefore, the longest boat he can buy is 18000 / 1500 = <<18000/1500=12>>12 feet long.
#### 12