EXT_FighterAI.cs(41,43): error CS0019: Operator `&&' cannot be applied to operands of type `UnityEngine.GameObject[]' and `bool'

trying to find an object with a tag that is also a grater distance then (100) to assign
EXT_FighterAI.cs(41,43): error CS0019: Operator &&' cannot be applied to operands of type UnityEngine.GameObject’ and `bool’

trying to do “find this tag” that is also > “this distance”

using UnityEngine;
using System.Collections;

public class EXT_FighterAI : MonoBehaviour {


	public GameObject nextWaypoint;

	public Transform selectedTarget;
	public Transform selectedWaypoint;
	public float waypointDistance;


	public float maxSpeed;
	public float currentSpeed;
	public float turnSpeed;
	public float shipHealh = 100;
	public float AIstance = 1;

//-----------------------------------------------------------------------------------------------------------
	// Use this for initialization
	void Start () {
	
	}
//-----------------------------------------------------------------------------------------------------------
	// Update is called once per frame
	void FixedUpdate () {
		
		// set patrolling AI:
		if (AIstance == 1) {
			patrolingAI ();
		}


	}	

	//-----------------------------------------------------------------------------------------------------------
	void patrolingAI ()	{

		//Find and assign a  waypoint find a game object with tag that is also its distance is > X.
		nextWaypoint = GameObject.FindGameObjectsWithTag("EXT_AI_Waypoint") && (waypointDistance > 100);

		//Look at Assigned Waypoint and get its distance:
		Quaternion WantedRotation = Quaternion.LookRotation (nextWaypoint.transform.position - nextWaypoint.transform.position, nextWaypoint.transform.up);
		waypointDistance = Vector3.Distance(nextWaypoint.transform.position, transform.position); 

		//when arive at waypoint, assign new waypoint that is greater distance then 100, so cannot assign the same waypoint.
		if(waypointDistance < 10){
			nextWaypoint = GameObject.FindGameObjectsWithTag("EXT_AI_Waypoint") && (waypointDistance > 100); //only choose if distance is > then 100.
		}

	}
	//-----------------------------------------------------------------------------------------------------------

}

From what I understand, you want something like this:

private GameObject FindClosestObjectBeyond(string searchTag, float minDistance)
{
    // Keep track of the best object that we could potentially find in the below loop
    GameObject bestTarget = null;
    float bestFoundDistance = 0f;

    // Go through all object with the given tag
    foreach (GameObject target in GameObject.FindGameObjectsWithTag(searchTag))
    {
        // Find the distance to the object
        float distance = Vector3.Distance(target.transform.position, transform.position);

        // Only consider objects that are further than the minimum distance
        if (distance > minDistance)
        {
            // If we haven't found anything yet or if this object is closer than what we found previously
            if (bestTarget == null || distance < bestFoundDistance)
            {
                // Then store it as the best option so far
                bestTarget = target;
                bestFoundDistance = distance;
            }
        }
    }

    // Return the best object we found (may also be null if we didn't)
    return bestTarget;
}

So the you can simply do:

nextWaypoint = FindClosestObjectBeyond("EXT_AI_Waypoint", 100);

And nextWaypoint is going to be the closest waypoint that is at least 100 units away.

The actual error you see is because && being “and” expects to have bools given to it, so true/false only. FindGameObjectsWithTag() return an array of GameObjects not a bool, so you cannot compare it that way.