Does negative Z score in Cochran-Armitage test implies the presence of an increasing trend? Given the p-value is less than 0.05 does negative Z score in two-sided Cochran-Armitage test implies the presence of an increasing trend? 
 A: I'm not sure why this question has an SPSS tag on it, as SPSS doesn't currently explicitly offer a Cochran-Armitage test statistic in any form. It offers a Linear-by-Linear Association (LLA) chi-square statistic in CROSSTABS that is only a small adjustment away from the chi-square that would be given for the CA test (you'd multiply the LLA statistic by N/(N-1) to get the CA chi-square statistic). That of course would always have a positive value.
SAS PROC FREQ clearly uses directionality such that a positive Z implies a positive trend. I'm not sure about other packages. Since the CA statistic is just a function of the Pearson correlation between the binary response and the ordinal category scores for the other variable, simply running a correlation should give you the appropriate directionality once you understand how your data are coded.
A: You should probably clarify what you mean by "decreasing trend".  Assumming you have two nominal categories, and assuming they are represented by two rows, the Cochran-Armitage test compares the scores of one row to the other row.  At least in R, the z score will be positive if the first row has higher scores, and the z score will be negative if the second row has higher scores.  If this is what you mean by "decreasing trend", then your intuition is correct.
I'll give an example in R, which may or may not match the output in other software.
Here, the second row clearly has higher scores than the first row, so the z is negative.
if(!require(coin)){install.packages("coin")}
if(!require(rcompanion)){install.packages("rcompanion")}

Input =(
"Breakfast  Never  Rarely  Sometimes Often  Always
Travel
Bus          5      4       3        2       1
Walk         0      0       0        0      20
")

Tabla = as.table(read.ftable(textConnection(Input)))

library(coin)

chisq_test(Tabla, scores = list("Breakfast" = c(-2, -1, 0, 1, 2)))

   ### data:  Breakfast (ordered) by Travel (Bus, Walk)
   ### Z = -5.031, p-value = 4.88e-07

This is actually rather similar in spirit to using a Wilcoxon-Mann-Whitney to compare the two groups, though not precisely the same.
Bus  = c(1,1,1,1,1,2,2,2,2,3,3,3,4,4,5)
Walk = c(5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5)

wilcox.test(Bus, Walk)

   ### Wilcoxon rank sum test with continuity correction
   ### 
   ### W = 10, p-value = 1.386e-07

library(rcompanion)

wilcoxonZ(Bus, Walk)

   ###     z 
   ### -5.29 

