To do what you want ideally might be possible but you are going to have to spend some time to make it so. Perhaps that investment in time will be worth it, perhaps not.
You might first off look at Lee Macs 'Steal' routine - allows you to pick a block in another drawing to import (I think), then use something like (entlast) and (entmod.....) to change the imported blocks layer. As Mhupp says make the process a logical order for you - select layer before or after insert.
And so onto a whole world of programming...
If you look at grread, grdraw and grvecs, help says "Only specialized AutoLISP routines need this function."
Grread will return what the user is doing, whether it is a mouse movement, mouse click, keyboard entry.
- If keyboard entry you can record this as the layer to insert into, create the layer as you go.
- If mouse click you can use this as user wants to place block there and then run the insert command according to the pointer location at the mouse click
- and now the fun part, if mouse movement is recorded
Look at grdraw and grvecs, Lee Mac has some examples on his website, you can draw temporary lines on the screen, these can be redrawn every time the mouse is moved using the output of grread as the mouse position.
You can get the 'bylayer' colour of the blocks destination layer and graw these lines a suitable colour if you want.
You are also going to want to create a vector list for an approximation of the new blocks shape (vector list: list of points to draw lines between) - approximation because grvecs only draws lines, not curves or text. You might be happy to represent the block as a rectangle using bounding box method to get the size.
Final thing is to find the zoom level of the space you are drawing into (else any lines you draw will always be the same regardless of zoom on or out)
So now with a vector list of approximate points for the block, the layer colour, and scale you can draw with grvecs lines on the screen to show the block at the right colour and scaled to the space zoom level. This can follow the mouse pointer.
Putting all this together anytime the mouse moves after block selection the block representation will be shown on screen, until mouse click text can be entered to change the layer.
And I reckon this would take a while to make it nice - a week or more for me.
I'd use steal....