How to place an Ubercart order on behalf of another user?
If you'd like to change ownership during checkout, probably not, or not without reworking some core UC code; there are likely to be permission problems if you switch the user owner before order completion. 

Changing the ownership of a UC order is a trivial change. 

$order = uc_order_load($order_id);
$order-&gt;uid = 1234;
uc_order_save($order);


But, the core Ubercart rules integration do not support a rules action that changes order ownership.  So in order to use rules you'd need to build a custom action there. Also, because aforementioned permission problems, you'd likely need to use an event that occurs when the purchasing user no longer needs to own the order. 

In summary, the above code is somewhat of a starting point, but you're looking at tripping over UC's order ownership enforcement if you go down this route.