Gathering IDs to find values from objects
If there are zero, one, two or possible more prerequirements, generalize their storage. Do not use multiple properties and nested if-else-statements, but an array and a loop.

The function should then look like this:

function checkPreReq(e) {
    var preReqs = skill[tab][e].preReqs;
    if (!preReqs)
        return true;
    for (var i=0; i&lt;preReqs.length; i++) {
        var preReq = preReqs[i];
        if (skill[tab][preReq].base &lt;= 0)
            // failed at least this preReq
            return false;
    }
    // passed all requirements
    return true;
}