I'm sure it's possible with both languages, as I know it can be done with Lisp by itself. It wouldn't be too hard to redefine a block within multiple drawings, but once attributes are involved, it is a little harder, as they are separate entities from the block, but still linked to the block.
How much experience do you have with writing lisp?
Welcome to theSwamp.