Whether or not vacation time is due at termination, is a matter of state law. Iowa law requires employers to follow their policy. So if a company has a policy that they will not pay vacation when an employee leaves without notice, that is legal. If they do not have such a policy, however, they cannot arbitrarily withhold vacation pay.
401k distributions are governed by Federal law. Under the law, you cannot lose what money YOU put into the 401k plan under any circumstances whatsoever (although the plan document will determine whether they have to allow you to access it immediately; some plans only allow distribution at certain, specified times of the year). The vesting schedule will determine what of the money the COMPANY put into the plan, you retain. So no, they cannot withhold 401k money because you did not give notice, but that doesn't mean that you can automatically have everything in your account distributed to you as soon as you leave.