List has a "count" variable. "asPath.count" will return number of nodes, that path has. About farest node, if you need farest node from all nodes in the level, you should loop through the asNodeList, if you need farest node from the path list you should loop through asPath list.

Code:
if(asPath.count > var)
{
  asNode* FarestNode;
  var dist;

  asPath.itr = asPath.head;
  dist = vec_dist(start, asPath.itr.pos);
  FarestNode = asPath.itr;
  while(asPath.itr != NULL)
  {
    if(vec_dist(start, asPath.itr.pos) > dist)
    {
      dist = vec_dist(start, asPath.itr.pos);
      FarestNode = asPath.itr;
    }
   asForth(asPath);
  }
}