Is it possible to add zoom to the mouse orbit script?

As the above states...

I want to control it with the mouse wheel/scroll. (it is added to my 3rd person camera, my game switches between 1st and 3rd)

Yes it's possible. Just detect the scrollwheel input and move the camera object as needed. This might point you in the right direction; http://www.unifycommunity.com/wiki/index.php?title=MouseOrbitZoom

for zoom

using UnityEngine;
using System.Collections;

public class zoom : MonoBehaviour {

public float zoomSensitivity= 15.0f;
public float zoomSpeed= 5.0f;
public float zoomMin= 5.0f;
public float zoomMax= 80.0f;

private float z;


void Start() {
    z = camera.fieldOfView;
}

void Update() {
    z -= Input.GetAxis("Mouse ScrollWheel") * zoomSensitivity;
    z = Mathf.Clamp(z, zoomMin, zoomMax);
}

void LateUpdate() {
    camera.fieldOfView = Mathf.Lerp (camera.fieldOfView, z, Time.deltaTime * zoomSpeed);
}

}

for mouse orbit on right click

using UnityEngine;
using System.Collections;

public class rotateonmouse : MonoBehaviour {
public float speed = 5.0f;
public Transform target ;
public float Distance = 5.0f;
public float xSpeed = 250.0f;
public float ySpeed = 120.0f;
public float yMinLimit = -20.0f;
public float yMaxLimit = 80.0f;

private float x;
private float y;





 void Awake()
{
    Vector3 angles = transform.eulerAngles;
    x = angles.x;
    y = angles.y;
   
    if(GetComponent<Rigidbody>() != null)
    {
        rigidbody.freezeRotation = true;
    }
}

void LateUpdate()
{
	if (Input.GetMouseButton(1)) {
    transform.LookAt(target);
    transform.RotateAround(target.position, Vector3.up, Input.GetAxis("Mouse X")*speed);
    if(target != null)
    {
        x += (float)(Input.GetAxis("Mouse X") * xSpeed * 0.02f);     
        y -= (float)(Input.GetAxis("Mouse Y") * ySpeed * 0.02f);
       
        y = ClampAngle(y, yMinLimit, yMaxLimit);
       
        Quaternion rotation = Quaternion.Euler(y, x, 0);
		transform.rotation = Quaternion.Slerp(transform.rotation, rotation, 100.0f * Time.deltaTime);	
        Vector3 position = rotation * (new Vector3(0.0f, 0.0f, -Distance)) + target.position;
       
        transform.rotation = rotation;
        transform.position = position;
    }
	}
}


 private float ClampAngle(float angle, float min, float max)
{
    if(angle < -360)
    {
        angle += 360;
    }
    if(angle > 360)
    {
        angle -= 360;
    }
    return Mathf.Clamp (angle, min, max);
}


// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
}