1. Лучше назвать атрибут "data-discounts" и обращаться к нему через $(this).data('discounts');
2.
$('.trade-block').each(function () {
    if (!$(this).data('discounts')) {
        price = parseInt($(this).attr('data-price')) * 0.9;
        id = $(this).attr('data-id');
        $(this).find('.price').text(Math.floor(price));
        $('li[data-id=' + id + ']').attr('data-price', Math.floor(price));
        val = $('li[data-id=' + id + '] input').val();
        recountCartValues($('li[data-id=' + id + '] input'), val);
        $('#user_addr').parent().hide();
    }
});