Graphically: you have to create new textures for them.
Table editing: It's easy

This is the table entry of the BGreen, used by Terran destroyers in FS2:
$Name: BGreen
$Model File: none ; laser1-1.pof
@Laser Bitmap: laserglow01
@Laser Color: 0, 255, 54
; Pale green R 192 G 255 B 200
@Laser Length: 0.0
@Laser Head Radius: 0.3
@Laser Tail Radius: 0.3
$Mass: 100.0
$Velocity: 1600.0 ;; speed of the weapon (initially) -- may or may not change
>>>>>>$Fire Wait: 15.0<<<<<< ;; in seconds
>>>>>>$Damage: 2400<<<<<<<< ;; NOTE: for beam weapons this is kind of a "continuous" damage applied every few fractions of a second that the beam is on.
$Armor Factor: 1.0
$Shield Factor: 1.0
$Subsystem Factor: 1.0
$Lifetime: 25.0 ;; How long this thing lives
$Energy Consumed: 0.30 ;; Energy used when fired
$Cargo Size: 0.0 ;; Amount of space taken up in weapon cargo
$Homing: NO
$LaunchSnd: 125 ;; The sound it makes when fired
$ImpactSnd: 88 ;; The sound it makes when it hits something
>>>>>>>+Weapon Range: 4000<<<<<< ;; Limit to range at which weapon will actively target object
$Flags: ("Big Ship" "huge" "beam")
$Icon: icongun05
$Anim: LoadGun07
$Impact Explosion: ExpMissileHit1
$Impact Explosion Radius: 60.0
$BeamInfo:
+Type: 0 ;; 0 - 4 are valid #'s
+Life: 4.0 ;; how long it lasts once the beam is actually firing
+Warmup: 3500 ;; warmup time in ms
+Warmdown: 3500 ;; warmdown time in ms
+Radius: 110.0 ;; muzzle glow radius in meters
+PCount: 20 ;; particles spewed every interval
+PRadius: 1.4 ;; particle radius
+PAngle: 60.0 ;; angle of the random "cone" where the particles are generated
+PAni: particleexp01 ;; particle ani
+Miss Factor: 1.0 1.1 1.1 1.7 1.4 ;; magic # - higher == miss more (only really applicable to type 0 and type 3 beams)
+BeamSound: 147 ;; the looping beam-firing sound
+WarmupSound: 154 ;; associated warmup sound
+WarmdownSound: 159 ;; associated warmdown sound
+Muzzleglow: beamglow3 ;; muzzle glow bitmap
+Shots: 0 ;; only used for TYPE 3 beams
+ShrinkFactor: 0.0 ;; what percentage of lifetime where beam starts shrinking (0.1 == 10% life left)
+ShrinkPct: 0.0 ;; what percentage of max width we subtract per second
$Section: ;; one section of the beam (you can have up to 5)
+Width: 25 ;; width of the section
+Texture: beam-red ;; texture for this section
+RGBA Inner: 255 255 255 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 150 150 150 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.0 ;; how much it flickers (0.0 to 1.0)
+Zadd: 4.0 ;; hehe
$Section: ;; one section of the beam
+Width: 30 ;; width of the section
+Texture: beam-green2 ;; texture for this section
+RGBA Inner: 160 160 0 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 60 60 0 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.45 ;; how much it flickers (0.0 to 1.0)
+Zadd: 3.0 ;; hehe
$Section: ;; one section of the beam (you can have up to 5)
+Width: 40.0 ;; width of the section
+Texture: beam-green ;; texture for this section
+RGBA Inner: 255 255 255 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 150 150 150 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.4 ;; how much it flickers (0.0 to 1.0)
+Zadd: 2.0 ;; hehe
$Section: ;; one section of the beam
+Width: 50.0 ;; width of the section
+Texture: beam-green3 ;; texture for this section
+RGBA Inner: 255 0 0 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 60 0 0 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.5 ;; how much it flickers (0.0 to 1.0)
+Zadd: 0.0 ;; hehe
Most fields are intuitive, like Fire Wait, Weapon Range and Damage. I suggest you to play around with them before modding parameters like Warmup and Warmdown(and beam sections).
Here's an example of a simple table editing:
>>>>>>>>>>>$Name: ExtraPowerfulBGreen <<<<<<<<<
$Model File: none ; laser1-1.pof
@Laser Bitmap: laserglow01
@Laser Color: 0, 255, 54
; Pale green R 192 G 255 B 200
@Laser Length: 0.0
@Laser Head Radius: 0.3
@Laser Tail Radius: 0.3
$Mass: 100.0
$Velocity: 1600.0 ;; speed of the weapon (initially) -- may or may not change
>>>>>>>$Fire Wait: 30.0<<<<<<<< ;; in seconds
>>>>>>>$Damage: 1200<<<<<<<< ;; NOTE: for beam weapons this is kind of a "continuous" damage applied every few fractions of a second that the beam is on.
$Armor Factor: 1.0
$Shield Factor: 1.0
$Subsystem Factor: 1.0
$Lifetime: 25.0 ;; How long this thing lives
$Energy Consumed: 0.30 ;; Energy used when fired
$Cargo Size: 0.0 ;; Amount of space taken up in weapon cargo
$Homing: NO
$LaunchSnd: 125 ;; The sound it makes when fired
$ImpactSnd: 88 ;; The sound it makes when it hits something
>>>>>>>+Weapon Range: 4000<<<<<<< ;; Limit to range at which weapon will actively target object
$Flags: ("Big Ship" "huge" "beam")
$Icon: icongun05
$Anim: LoadGun07
$Impact Explosion: ExpMissileHit1
$Impact Explosion Radius: 60.0
$BeamInfo:
+Type: 0 ;; 0 - 4 are valid #'s
+Life: 4.0 ;; how long it lasts once the beam is actually firing
+Warmup: 3500 ;; warmup time in ms
+Warmdown: 3500 ;; warmdown time in ms
+Radius: 110.0 ;; muzzle glow radius in meters
+PCount: 20 ;; particles spewed every interval
+PRadius: 1.4 ;; particle radius
+PAngle: 60.0 ;; angle of the random "cone" where the particles are generated
+PAni: particleexp01 ;; particle ani
+Miss Factor: 1.0 1.1 1.1 1.7 1.4 ;; magic # - higher == miss more (only really applicable to type 0 and type 3 beams)
+BeamSound: 147 ;; the looping beam-firing sound
+WarmupSound: 154 ;; associated warmup sound
+WarmdownSound: 159 ;; associated warmdown sound
+Muzzleglow: beamglow3 ;; muzzle glow bitmap
+Shots: 0 ;; only used for TYPE 3 beams
+ShrinkFactor: 0.0 ;; what percentage of lifetime where beam starts shrinking (0.1 == 10% life left)
+ShrinkPct: 0.0 ;; what percentage of max width we subtract per second
$Section: ;; one section of the beam (you can have up to 5)
+Width: 25 ;; width of the section
+Texture: beam-red ;; texture for this section
+RGBA Inner: 255 255 255 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 150 150 150 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.0 ;; how much it flickers (0.0 to 1.0)
+Zadd: 4.0 ;; hehe
$Section: ;; one section of the beam
+Width: 30 ;; width of the section
+Texture: beam-green2 ;; texture for this section
+RGBA Inner: 160 160 0 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 60 60 0 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.45 ;; how much it flickers (0.0 to 1.0)
+Zadd: 3.0 ;; hehe
$Section: ;; one section of the beam (you can have up to 5)
+Width: 40.0 ;; width of the section
+Texture: beam-green ;; texture for this section
+RGBA Inner: 255 255 255 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 150 150 150 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.4 ;; how much it flickers (0.0 to 1.0)
+Zadd: 2.0 ;; hehe
$Section: ;; one section of the beam
+Width: 50.0 ;; width of the section
+Texture: beam-green3 ;; texture for this section
+RGBA Inner: 255 0 0 255 ;; rgba values (only for non-textured beam compiles)
+RGBA Outer: 60 0 0 10 ;; rgba values (only for non-textured beam compiles)
+Flicker: 0.5 ;; how much it flickers (0.0 to 1.0)
+Zadd: 0.0 ;; hehe
I have changed the parameters mentioned above(Damage, Fire wait and Weapon Range). Fire wait is 1/2 of the original, Damage and Weapon Range are 2x the original. I used many "<" and ">" to underline the changes(don't add them!).
Many good informations are accessible from the Wiki
