Is there any point in splitting data before applying hypothesis testing? If I have understood correctly, Null Hypothesis Significance Testing(NHST) is a device, which eats data and a conservative model, and outputs a 'probability' that the data was generated by the hypothesized process.
In that, H0 can produce any p-value, while alternative hypotheses are probable only at low p-values. That's why we are encouraged to repeat an experiment in which we think we have found an effect.
Now for the question. Suppose we have 100 measurements and no way to obtain more. Let approach A be to input the in a NHST device and compare the p-value with the significance level. Let approach B be to split the sample into two parts (with random selection, bootstrapping or other algorithm), use two NHST devices and check if their results are in agreement. Of course power will be reduced.
Are approaches A and B somehow equivalent or is one of them 'better' - always or in certain situations?
 A: Your understanding of hypothesis testing (NHST) is in error, and you really need to do some study!  What you describe is closer to bayesian thinking. 
You could search this site or better, read an introductory book. 
As for your approaches A and B, you need to explain us why you want to do B, it is not very clear.  For a better answer we need to know more context, describe your data, what does it measure? and what is your research hypothesis, in simple english.
A: I guess you are asking this question more as an "approach principle".
In hypothesis testing we are using sample to draw conclusions on a given population. So, by splitting your initial sample A in 2 samples B1 and B2 (let's assume B1 and B2 have the same size), you are extracting "random" samples from a random sample of a population. Therefore B1 and B2 are "less random". Most likely you will get 2 samples with greater variability and less accuracy.
The main challenge is that you will get 2 different test statistics from B1 and B2... but not sure what you can do with them then.
# simulating random size of people in meter
set.seed(14)
A <- sample(1500:2100, 100, replace=TRUE)/1000
B <- sample(A, 100, replace=FALSE)

B1 <- A[1:50]
B2 <- A[51:100]

t.test(A, paired = FALSE, conf.level = 0.95)
t.test(B1, paired = FALSE, conf.level = 0.95)
t.test(B2, paired = FALSE, conf.level = 0.95)

The t-test gives for A the following info:
mean of 1.81436 with a CI of 1.781925 - 1.846795
While the t-test for B1 and B2:
B1: mean of 1.8433 with a CI of 1.79942 - 1.88718
B2: mean of 1.78542 with a CI of 1.737493 - 1.833347
For example, here the mean of B1 is not even included in the CI of B2.
