Welcome to the 1st gen Bird forum !
Any '67-'74 Pontiac V8 should be a direct bolt-in swap. This includes 350, 400, 428, & 455 engines.
BUT, the timing cover/water pump/pulleys changed after '68. Also, some of the later heads had more bolt holes on each end of the heads. So, if you use an engine from the mid '70's, you may have to round up all the accessory brackets & pulleys that will work on that engine. Of course, some make their own brackets.
Some of the '75-'79 engines didn't have the correct motor mount bolt holes, for the 2-bolt mounts you need. There are adapters. But some have had trouble with those.
Also, beginning sometime during the '75 model year, Pontiac began using a casting #500557 block, for the 400 engines.These blocks were significantly weakened, especially in the main web thickness. There have been many failures of these blocks. But, these are the easiest & cheapest Pontiac 400's to buy.
For the '78-'79 model W72 400's, Pontiac recast some of the stronger #481988 blocks, & added an XX before the casting number. So, they're known as the XX 481988 blocks. They have all 5 motor mount bolt bosses, but those I've seen, have only 3 of the holes drilled & tapped, on each side. If you use one of these blocks, you'll need either adapters, or to have the other 2 bolt bosses drilled & tapped for your 2-bolt motor mounts.
You can ID your engine & heads by casting number, date code, & block code. The block casting number is located just below the rear end of the passenger side head. It was cast into the block. The date code is a 4-digit number located back by the distributor hole. The 1st letter is for the month, 2nd 2 digits are numbers for the day of the month. Last digit is a number, which is the last number of the year cast. For example: A date code of A108, would mean that the block was cast Jan 10, 1968. The block code is located just below the front of the pass side head. It is usually a 2 digit code. It is usually 2 letters. But it sometimes has one letter & 1 number. There are some blocks with a 3-digit code. The block code is stamped on, not cast with the block.There is usually a string of numbers just above the block code. It's just a sequence number & is not important for making a positive ID of your engine.
http://www.wallaceracing.com/enginesearch4.htm Your heads will probably have a 2-digit number cast over the center exhaust ports. For example: A '68 2-barrel 350 would have come with #17 heads. A '69 2-barrel 350 would have #47 heads. Some heads had 3-digit numbers, such as 670, 7K3, and others.