Your first argument is true, but I would argue that if you already know what you're doing, you can write some demo portfolio code specifically to show off your skills in very little time. Make that code pleasant to read, free of legal constraints, and be ready and able to talk about it. You probably will spend at least 40 hours a week at your job and it will dramatically affect your life. That's worth spending a few days, maybe even a few weeks preparing for so that you can get one you like.
For your second argument, I know what you mean, but that's also totally subjective, dictated by chance, and would apply equally across the board for all candidates. Even if that happens, it sort of naturally levels itself out competition-wise.
Also, remember that you're evaluating the employer too - do you want to work for someone who chooses employees that way? Would you want to work with someone who has a closed mind and an axe to grind about certain concepts? I wouldn't trust people like that to make good decisions that will make the company succeed, thereby keeping me employed - let alone providing opportunities to advance. Plus they sound like they'd be a pain in the ass to work with.