how to typecast from GameObject

Does UnityScript typecasts objects? how?

function ItemHandler(item : GameObject) {
    if(item instanceof EquippableItem) {
       DoSomethingWithEquippableItem(itemtypecasted);
    }
}

for that kind of behavior you’re actually adding components to game objects.
you don’t derive from game object. if you want to check whether a game object has a specific component, use something like:

if (GetComponent<EquippableItem>() != null)
{
}

but just a reminder, in unity, you don’t actually need to know the type of the object/component or anything actually. just send a message whenever you want something to happen. then handle that event in the class itself.
in your case:

class EquippableItem : MonoBehaviour
{
   void OnMyEvent()
   {
     DoSomethingHere();
   }
}

then whenever you want to trigger that just call

targetGameObject.SendMessage("OnMyEvent")

for the game object we’re talking about.

take a look at these methods from component:

http://unity3d.com/support/documentation/ScriptReference/Component.SendMessage.html
http://unity3d.com/support/documentation/ScriptReference/Component.BroadcastMessage.html
http://unity3d.com/support/documentation/ScriptReference/Component.SendMessageUpwards.html

also for accessing components:

http://unity3d.com/support/documentation/ScriptReference/Component.GetComponent.html
http://unity3d.com/support/documentation/ScriptReference/Component.GetComponentInChildren.html