It's all possible..
Maybe you should use arrays for your weapons and use functions to calculate everything you want..
What I would do is start making the basics you'd like and come here when you have issues that can be solved..
Like the pin example, you say you've tried, so maybe you can upload a capx in which you have the problem so we can work on that?
It's much easier to solve a problem, than to create a game..
About the enemies:
Give them line of sight behaviour or detect the distance between player and enemy..
If player is not in sight move towards player..
Minor stupidity would just be adding a bit of random to the shooting angle and such..
Experience would either be a global or instance variable
on enemy destroyed - add 1 to variable
set experienceBar to experienceBar.width + 5
A menu would be created visually from info in an array..
Because you have so many possibilities I think learning about arrays is inevitable..