Checking indexes is a good start, but there's no substitute for checking microfilms of the parish registers to try to resolve your many "if"s and "perhaps".
I think it a reasonable assumption that William baptised 1721 in Biddenham is the same William who married in Biddenham in 1747. I think the conflict in the marriage dates is due purely to the change from the Julian calendar to the Gregorian calendar in 1752. The M batch entry hasn't been adjusted, the I batch entry has. No conflict. Better to record the date as 22 Feb 1746/7.
Your difficulty starts when trying to prove conclusively that this Biddenham couple moved to Wootton, which after all, is less than 4 miles away across the river. Looking at the entry in the parish register to see if there's any additional detail eg "of Wootton" would be the place to start.
The marriage of Mary Cave in 1788 IS on the IGI - as a Contributed entry rather than an Indexed entry. A number of years ago the LDS tried to clean up the combined IGI as it was then, with member submissions and extracted items being in the same index, by deleting duplicated entries which were identical. In its wisdom it deleted the extracted, reliable entries, leaving the unreliable member submissions. Today with the IGI being split it appears as though some marriages are missing. So you have to check the PR if there's an identical member Contribution to see whether it's genuine or not (or in this case check the transcript on FreeReg). "I" batch numbers aren't considered to be as reliable as C and P and M batches, as it's difficult to trace the source. I'm not surprised that only one out of thirteen baptisms is included in the I batch as the parish register isn't the source, but is probably taken from a secondary source.