A plugin can certainly customise the behaviour to suit your needs.
It sounds like you're really just buying the product from the supplier - and that we already do - but instead of the normal PO to GRN cycle, you want to take the stock from the consignment warehouse and put it into the main warehouse.
So - I'd look at something like (and this is just off the top of my head):
1. Logical warehouse has a new custom field "Consignment Warehouse" - this designates one or more logical warehouses as consignment warehouses.
2. PO raised in Main warehouse for supplier. A flag somewhere indicates this is a consignment stock purchase - we'd store this in a custom field on the PO, but we could also have a new option for the New tool "Consignment Purchase" in addition to the existing "Supplier Purchase Order" and "Warehouse Purchase Order". We also need to know which consignment warehouse this is for - so if there is only one consignment warehouse defined, we just automatically set that - but if there are more than one then the user is prompted to select which one.
This next part assumes you want the rigid controls that a Warehouse Transfer Out brings - but if you don't need that we could simplify things by not having the WTO.
3. When this type of PO is set to the Sent status, we create a Warehouse Transfer Out from the consignment to the warehouse of the PO (Main warehouse). This allows the user to select specifically (if the wish) which items are being transferred. We flag this WTO as a consignment transfer by setting a custom field.
4. When the WTO is activated, we create a GRN pre-filled with the items and quantities, and serial information. This is now effectively a substitute for the Warehouse Transfer In that you would have normally done.
5. When the GRN is activated, you can create an invoice as per normal.