Function to add a node with a unique ID and x,y coordinates
def addNode(self, node_id, x, y):
    if self.node_list[node_id] != None:


Since None is a guaranteed singleton, you could use is not None rather than != None.

        raise exception("This node ID already exists.")


If this exception is quite common, assuming this code is part of a tree structure of some sort, you could write a custom exception such as NodeError to handle all such error - that'd be neat.

else:


Is it necessary to have the else here? If the if clause above raises an exception, this block won't be executed anyway; so I'd suggest you should remove this and unindent the code below.

    if self.spacialMatrix[x][y] != None:
        raise exception("This node position is already populated.")


Same thing I mentioned above - is not None and NodeError exception. Also, wouldn't the wrong x and y arguments raise an IndexError? Have you done anything else in the code to ensure that this won't happen?

    else:               
        self.spacialMatrix[x][y] = node_id
        self.node_list[node_id] = [x,y]


This part looks good.

My suggestions:

class NodeError(exception):
    """
    For node related errors.
    """
    pass

def addNode(self, node_id, x, y):
    if self.node_list[node_id] is not None:
        raise NodeError("This node ID already exists.")
    if self.spacialMatrix[x][y] is not None:
        raise NodeError("This node position is already populated.")
    self.spacialMatrix[x][y] = node_id
    self.node_list[node_id] = [x,y]


Note: Adding doc strings would be a very good idea!