One way that I can think of for you to get the correct random values for the only the gift certificates is to add a column for this value to your cart object, but don't update any of the cart displays to display this value.
Next on your add to cart pages when a user purchases a gift certificate you will have a check in place the checks to see if the item is a gift certificate and if so set this new column to the random password binding.
You then need to update your order details table to have this column also and just bind it with the corresponding cart column value. To account for the multiple gift certificates you would need to ensure that you add new items for these rather than update the quantity, this is in the add to cart server behavior in the bindings under the 'if item in cart' settings. Please post back with any questions you have about any part of this and I will help you with whatever I can.