Whoa, first, take a deep breath...
Now for your problem: in an Expert Agent system (EAS), agents aren't assigned to VDN's or skills, but skills are assigned to agents. It's important to remember that.
There are several ways to accomplish what you want, but you might also want to rethink your scenario (sounds familiair, there's a company that has a campaign with rethink in it, what was the name again..?..)

Anyway:
Option 1: (wich uses EAS, instead of manual intervention)
Assign all skills to all agents (as far as appropiate), but each agent has different priorities for each skill. So every agent has one or two "main" skills (with high priority or level), but can also answer calls to other skills (for wich he/she has lower priority/level), if there's no agent available with that skill on a high priority/level.
So normally, all calls are answered by an expert on the subject the call is about, and only if all experts are busy/unavailable, calls go to an agent that is less of an expert (but still capable of helping the customer).
For example:
Agent 1 - skill 1 / level 1, skill 2 / level 5
Agent 2 - skill 1 / level 5, skill 2 / level 1
Calls to skill (VDN) 1 will go to Agent 1 at first, and if he's busy to Agent 2. Same (but the other way around) for skill 2, you get the idea... this requires no additional intervention, if you prepare & implement it well.
Option 2 (and 3 and..):
There are ways to change skill assignments "on the fly", either by using feature-access codes (look for add/remove skill in the manual), or with (if you have CMS) CMS Supervisor. Another alternative is programming several agent-loginid's per agent, but it's very inefficient, and also it requires action by the agent, wich in my experience is often a problem..
I would go for option 1, wich makes use of the functionality offered by EAS, first read some manuals about expert-agent, and off course, if you need help, there's always tek-tips!!
Cheers,
Nico