a m20 I motor head job is varly easy, id figure around $200-250 if it don't need any rockers or any other hard parts to diy, personally unless the car is really something special id find something with a 100k miles less, they are plentiful and cheep enough. a 87 325i only has 4 codes (1 2 3 and 4) that it stores and they won't tell you much, 88 and up have the regular 4 number codes that are common till 95. loud valve train can be adjusted but with those miles it may need some hard parts in the head to really get it to shut up at which point you double to tripple the price to do it right
all america wants is cold beer warm cat and a place to take a poop with a door on it