Creating A list of waves

This is probably a simple question, but I can't seem to fit the question into a short and concise enough phrase to get a good result on the internet.
Is there a way to a) lengthen the number of points in a wave?
b) make a list of waves that are in a data folder in root ex. "root:NormalizedWaves:'WavesFor Stats':"
c) have each of the waves be assigned a number 1 through N (N is number of waves), and than be able to call those waves by their corresponding number so that I could
duplicate the content of that wave that was called into an existing wave?

a) InsertPoints can be used to increase the number of points in a wave, or you can use Concatenate to combine waves

b and c) Look at WaveList
Also have a look at the redimension command.
Waves of waves are possible using the /WAVE flag in a WAVE statement... but I doubt that you want to use this (wavelist might be better)

PS: have a close look at the $ operator
The wavelist command was what i started with , but I guess i was unable to figure out how to do the second steps in c) where I can have numbers assigned to each wave, and then call them as I wish.
Put their names in a string list (done by wavelist separated by ";") and use stringfromlist to extract the individual names. Convert the names into a reference via $ and there you are.

//  Defines MyFolder
DFREF MyFolder=root:NormalizedWaves:'WavesFor Stats':

//  Counts the number of waves in MyFolder
Variable NumberOfWaves=CountObjectsDFR(MyFolder, 1)

//  Creates a list of all waves in MyFolder
MakeO/WAVE/N=(NumberOfWaves) AllWaves=MyFolder:$GetIndexedObjNameDFR(MyFolder, 1, p)

Alternative using WaveList

//  Defines MyFolder
DFREF MyFolder=root:NormalizedWaves:'WavesFor Stats':

//  Changes the active folder to MyFolder
SetDataFolder MyFolder
//  Returns a semi-colon seperated list of all waves in MyFolder
ListOfWaves=WaveList("*", ";", "")

// You can access the waves in the list using:
Wave MyWave=MyFolder:$StringFromList(index, ListOfWaves, ";")