Am I right this is done by applying two other PWM outputs from the adruino to the enable pins on the l293, putting a lower voltage on the enable pins, so that the l293d only lets part of the current through?
No, you do not want to change the voltage on the enable pins. You want to generate a PWM waveform to turn the enable signal on/off rapidly with varying duty cycle. The bigger the duty cycle the higher the average power you are delivering to the motors. Here is perhaps a too-high-level view of PWM, though I'm sure you will find more nuts-and-bolts explanations with a bit of looking:http://en.wikipedia.org/wiki/Pulse-width_modulation#Power_delivery
Can I also use a l298 hbridge, which is able to cope with 4A current?
The L298 will give you more current capability than an L293 but it won't give you 4A. That's just a marketing number that doesn't take heat dissipation into account. See our Motor Driver Myth
application note for more explanation.
The Gadget Shield
: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons