You cannot insert a block (A) into an attribute of another block (B).
You can write a custom LISP routine which inserts A into the drawing, and programmatically extracts needed value from A, and modifies B attribute with said value, then deletes A... But that is just cumbersome, and more complicated then it needs to be.
If you know the possible values, then hard-code those values as options into a custom routine which allows you to select B, and select an option (A value?) to apply to B's attribute. Does that make sense?