Ces deux locutions verbales du registre familier signifient : ne pas avoir du tout (de quelque chose).
On dit par exemple : "Ce film n'est pas réaliste pour un sou".
Ou : "Mon fils n'a pas pour deux sous de sens pratique".
On utilise souvent la formule "Ne pas avoir pour deux sous de jugeote", à laquelle j'ai déjà consacré un article.