Weather or not you use arrays you basically set some limits like:
Sprites 100 to 200 are good guy bullets
Sprites 201 to 300 are bad guy bullets
If you want to check for collision with bad guy ships check sprites 100 to 200. If you want to check for collision with the player check sprites 201 to 300. If a sprite collides with a ship or goes off the screen you can move it to a specific coordinate (-1000, -1000). When you want to create a new bullet for either side you check for sprites at -1000,-1000 because that's an unused bullet.
Arrays make it easier since you don't have to use commands like SPRITE X() and SPRITE Y() to always get the sprite coordinates since the coordinates are usually stored in the array.