I got the destiny ps4 bundle and it was European so the vanguard dlc that came with it isn't working because my main account is an American one, if I create a new European account and use the code on it will I be able to switch my account and get it to work on my American account?
No, the code is bound to your European account and will not work on any other account on your console.
I tried it with a friend's account, who has no code and he logged in on my PS4. It didn't work. Both where European accounts.