On UK BA Amex cards once the miles have been posted from the card to your BAEC account it can not be reversed. Don't know about any other country but assume it's the same.
Normally any 2 for 1 vouchers have a condition that you still have to be an active card member at time of travel, but you do not mention a voucher in your post, only miles.
Miles don't expire but your BAEC account expires (taking all miles with it) if has no activity for 3 years. Adding miles, redeeming miles, shopping to earn miles via the estore etc all reset the expiry counter - it is any activity.