Magento is defaultly included upsell section on product page.Generally it is calling in it content area.
using be code:
<catalog_product_view translate="label">
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
............
<block type="catalog/product_list_upsell" name="product.info.upsell" as="upsell_products" template="catalog/product/list/upsell.phtml">
<action method="setColumnCount"><columns>6</columns></action>
<action method="setItemLimit"><type>upsell</type><limit>6</limit></action>
</block>
...
and on view.phtml that upsell is called by <?php echo $this->getChildHtml('upsell_products');?>
If you need customization according to your Layout.Just if you call 2-col-right layout
then you need remove this code from <reference name="content">
and put it reference right content area
<catalog_product_view translate="label">
<reference name="right">
<block type="catalog/product_list_upsell" name="product.info.upsell" as="upsell_products" template="catalog/product/list/upsell.phtml">
<action method="setColumnCount"><columns>6</columns></action>
<action method="setItemLimit"><type>upsell</type><limit>6</limit></action>
</block>
</reference>
<catalog_product_view>
Another thing it note that you cannot cart directly .
I suggest use Custom option for your case.