Q:

Adding multiple instances of the same object to the stage

I'm making a "spit" card game and I'm trying to be able to have 3 cards on the stage at once to be able to drag to the pile. So my question is how do I have multiple instances of the same object on the stage, but be able to assign each card different frames, etc. Here is the code to understand the context of it.
"cardArray" has 53 frames, 52 of which have a card face, 53rd is a "deck" picture.
//variables, constants
var cardDeck:Array = new Array();
var timer:Timer = new Timer(2000);
var j:int = 0;
var card:MovieClip = new CardArray();
var cardInDeck:Boolean;
const deckSize:int = 52;

//events:
card.addEventListener(MouseEvent.MOUSE_DOWN,fDown);
card.addEventListener(MouseEvent.MOUSE_UP,fUp);
startRandomise();

//This is where the unshuffled "deck" is created - values loaded into the array.
function createDeck():void
{
    var i:int;
    for(i =0; i<deckSize; i++)
    {
        cardDeck[i] = i+1;
    }
}

function randomizeDeck( a : *, b : * ):int 
{
    return (Math.random()>.5) ? 1 : -1;

}

//Grab the value from the (presumably) current frame of the card
function convertCard(cardNo:int):int
{
    var deckPos:int;
    if (cardNo <= deckSize/4)
    {
        deckPos = cardNo;
    }
    else if (cardNo > deckSize/4 && cardNo <= deckSize/2)
    {
        deckPos = cardNo -13;
    }
    else if (cardNo > deckSize/2 && cardNo <=deckSize*3/4)
    {
        deckPos = cardNo -deckSize/2;
    }
    else if (cardNo >39)
    {
        deckPos = cardNo -39;
    }
    return deckPos;
}

btn.addEventListener(MouseEvent.MOUSE_UP,showArray);
function showArray(event:MouseEvent):void
{
    if(j<deckSize /2)
    {
        addChild(card);

        card.gotoAndStop(cardDeck[j]);
        trace(cardDeck[j]+","+deckCompare[j]);
        j++;        
    }
    if(cardInDeck)
    {
        card.x = 200;
        card.y = 200;
        cardInDeck+false;
    }
}

function fDown(evt:MouseEvent)
{
    card.startDrag();
}

function fUp(evt:MouseEvent)
{
    stopDrag();
    if(card.hitTestObject(deck))
    {
        trace("deck: "+convertCard(deck.currentFrame));
        trace("card: "+convertCard(card.currentFrame));
        if(convertCard(card.currentFrame) == convertCard(deck.currentFrame)+1 || convertCard(card.currentFrame) == convertCard(deck.currentFrame)-1 || convertCard(card.currentFrame) == 13 && convertCard(deck.currentFrame) == 1 || convertCard(card.currentFrame) == 1 && convertCard(deck.currentFrame) == 13 || convertCard(deck.currentFrame) == 14)
        {
            deck.gotoAndStop(card.currentFrame);
            removeChild(card);
            cardInDeck=true;
        }
        else
        {
            card.x = 200;
            card.y = 200;
        }
    }
    else
    {
        card.x = 200;
        card.y = 200;
    }
}

function startRandomise():void
{
    createDeck();
    cardDeck.sort(randomizeDeck);
    cardDeck.sort(randomizeDeck);
    trace("random: "+cardDeck); 
    trace("deckCompare: "+deckCompare);
    card.x = 200;
    card.y = 200;
    deck.gotoAndStop(53);
}

A:

To have multiple cards, you need to instantiate more than one card.  I don't know anything about the card game spit and don't understand the purpose of many of your functions, but you'll want to do something along these lines:
Create a function that generates (instantiates) a new card:
function createCard(faceFrame):MovieClip {
    var tmpCard:MovieClip = new CardArray(); //this creates a new instance of a card 
    tmpCard.addEventListener(MouseEvent.MOUSE_DOWN, cardMouseDown); //make the card call the mouse down function when that event is triggered
    tmpCard.gotoAndStop(faceFrame); //assign the card it's face (frame)
    addChild(tmpCard); //add the card to the screen

    return tmpCard;
}  

Then, in your mouse down handler (I renamed it to be more clear what is is), you can do the following to card that was mouse downed:
function cardMouseDown(evt:MouseEvent) {
    //the events currentTarget property is reference to the item that you attached the listener to, so in this case the card who triggered the mouse down
    card = evt.currentTarget as MovieClip; //assign the current clicked card to the global card variable (so we can access it in the mouse up function)
    card.startDrag();

    //add the mouse up listener on the stage, since there are cases where you can drag so fast that the mouse isn't over the item it's dragging (and then if you were to release the mouse at that moment it wouldn't dispatch the event)
    stage.addEventListener(MouseEvent.MOUSE_UP, stageMouseUp);
}

Then your mouse up function would look something like this:
function stageMouseUp(evt:MouseEvent) {
    //remove the mouse up listener from the stage
    stage.removeEventListener(MouseEvent.MOUSE_UP, stageMouseUp);

    card.stopDrag();
    if(card.hitTestObject(deck))
    {
    ......//rest if the code

Seems like you would want to generate a new card in the showArray function you have?  So something like this:
function showArray(event:MouseEvent):void
{
    var newCard:MovieClip = createCard(cardDeck[j]);
    j++

    newCard.y = newCard.x = 200;

    trace(cardDeck[j]+","+deckCompare[j]);            
}

As an aside, you should consider calling your Card object something more sensible, like Card instead of CardArray, as it's not an array...

