Yes, it is possible. It would be a custom checkout page, which would contain everything from address, shipping method, and payment forms. As you can image, it involves too much to answer here.
Essentially, you would need to create a form (or forms) that would take the required information for a checkout and pass those values to your controller to put together a quote and convert it to an order. Google "how to create an order programmatically" and you'll see plenty of examples. Here's one: http://inchoo.net/magento/programmatically-create-order-in-magento/.
Alternatively, Inchoo has a guide on how to use the
'checkout/type_onepage' class, which seems to simply thing a lot. I've never used it, though. http://inchoo.net/magento/magentos-onepage-checkout-in-a-nutshell/
Another method I could think of is directing the customer to the checkout page with a click of a button.. Instead of "add to cart", you would place "checkout" on the product page, which directs the customer to a custom controller action that will create a quote with that product and start the checkout process.