We don't have any way to insert a custom form in between the customer taking their cart to checkout and actually reaching the checkout page, but perhaps you could accomplish what you need by combining the Shipping/Buyer's Address with product-based Variations:
http://www.e-junkie.com/ej/help.variants.htm
The buyer's name and email are always collected at Checkout (you can make Phone required in your PayPal account settings), and enabling the product's Shipping/Buyer's Address setting in your E-junkie Seller Admin will trigger collection of a delivery address during checkout.
When you enable "Variations which tell more..." in the product's settings, you can define up to three option names (e.g. "Baby's Name", "Personal Message", and "How did you hear about us?"), and below that for each option you can either provide a list of buyer-selectable values (advisable for the "How did you hear" option) or just leave the list blank to have buyers enter their own text. When you save these settings and reach the button codes screen for the product, the Add to Cart code provided will automatically include the necessary field(s)/menu(s) for your Variation options.