You can do the following:
INSERT INTO sales_items 
  (sale_id, item_id, quantity_purchased, item_cost_price, item_unit_price) 
VALUES 
  (SELECT '1', '1546', '3', '10', '10' 
   FROM location_items 
   WHERE  location_id = 4 
     AND item_id = 1546 
     AND quantity < 10
);
Or, if you want to do it all in one query, including updates:
REPLACE INTO sales_items 
  (item_id, quantity_purchased, item_cost_price, item_unit_price) 
VALUES 
  (SELECT item_id, ??, ??, ?? 
   FROM location_items 
   WHERE quantity < 10
     AND quantity > 0
);
...where you have to fill the ?? with references to columns holding the values for item_cost_price and item_unit_price, and you have a unique constraint on item_id