It is a bit unclear to me as to what you want to accomplish. The questions in your linked document look quite different from the ones that your code gives.
Also I don't really get what you try to accomplish with the \qed in your environment zad. So that's why I'll show you 2 solutions. Both solution define a new command \myquestion with 3 arguments: a question title, the question itself and a semicolon separated list of multiple choice answers.
First solution:
In this solution I tried to get as close as possible to the layout suggested by your own code (zad command, \qed in the title, multiple choice answers on right hand side, ...)
\documentclass{article}
\usepackage[croatian]{babel}
\usepackage[T1]{fontenc}
\usepackage[cp1250]{inputenc}
\usepackage{xparse}
\usepackage{enumitem}
\usepackage{arydshln}
\usepackage{fullpage}
\usepackage{amsthm}
\renewcommand*\familydefault{\sfdefault}
\ExplSyntaxOn
\newcounter{questions}
\stepcounter{questions}
\renewcommand{\arraystretch}{2}
\newcommand{\zad}[1]{\textsc{Zadatak}\ $[#1]$}
\NewDocumentCommand{\myquestion}{m m m}{
\par\noindent
\begin{tabular}{|l:l|}
\hline
\multicolumn{2}{|l|}{\thequestions.\ #1 \hfill $\qed$} \\ \hline
\parbox{.75\textwidth}{#2} & \parbox{.19\textwidth}{\choices:n{#3}} \\ \hline
\end{tabular}
\stepcounter{questions}
}
\cs_new:Npn \choices:n #1{
\seq_set_split:Nnn \splitted_seq{;}{#1}
\begin{enumerate}[label=\alph*)]
\seq_map_inline:Nn \splitted_seq{
\item ##1
}
\end{enumerate}
}
\ExplSyntaxOff
\begin{document}
\myquestion{\zad{4} This is the first question}
{This is a \textbf{QUESTION}}
{choice A; choice B; choice C}
\vspace{-1pt}
\myquestion{\zad{4} This is the second question}
{\[ \sum_{i=0}^n X_k = \sum_{i=0}^n \frac{A_{ij}^k}{k!} \]}
{choice A; choice B; choice C; choice D}
\end{document}

Second solution:
This solution is a closer match to the document you linked to (multiple choice answers inside question box, pink box with tickboxes, ...)
\documentclass{article}
\usepackage[croatian]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\usepackage{enumitem}
\usepackage{fullpage}
\usepackage{amsthm}
\usepackage[table]{xcolor}
\usepackage{arydshln}
\usepackage{tikz}
\renewcommand*\familydefault{\sfdefault}
\ExplSyntaxOn
\newcounter{questions}
\stepcounter{questions}
\renewcommand{\arraystretch}{2}
\newcommand{\tickbox}{
\begin{tikzpicture}[scale=.3]
\fill[white] (0,0) -- (0,1) -- (1,1) -- (1,0) -- cycle;
\end{tikzpicture}
}
\NewDocumentCommand{\myquestion}{m m m}{
\par\noindent
\begin{tabular}{|l:l|}
\hline
\multicolumn{2}{|l|}{\thequestions.\ #1} \\ \hline
\parbox{.85\textwidth}{\vspace{2mm} #2 \choices:n{#3}} & \cellcolor{red!15}\parbox{.09\textwidth}{\tickboxes:n{#3}} \\ \hline
\end{tabular}
\stepcounter{questions}
}
\cs_new:Npn \choices:n #1{
\seq_set_split:Nnn \splitted_seq{;}{#1}
\begin{enumerate}[label=\Alph*.]
\seq_map_inline:Nn \splitted_seq{
\item ##1
}
\end{enumerate}
}
\cs_new:Npn \tickboxes:n #1{
\seq_set_split:Nnn \splitted_seq{;}{#1}
\begin{enumerate}[label=\Alph*.]
\seq_map_inline:Nn \splitted_seq{
\item \tickbox
}
\end{enumerate}
}
\ExplSyntaxOff
\begin{document}
\myquestion{Intervals}
{Koliko cijelih brojeva ima u intervalu $\left[-\frac{11}{4},3\right\rangle$?}
{5; 6}
\vspace{-1pt}
\myquestion{Order of Operations}
{Učenik je na džepnome računalu zbrojio brojeve $A$ i $B$. Dobiveni rezultat podijelio je s $C$. Taj je rezultat pomnožio s $D$. Koji izraz opisuje taj račun?}
{$\frac{A+B}{CD}$; $\frac{(A+B)D}{C}$; $(A+B:C)\cdot D$; $A+B:\frac{c}{D}$}
\vspace{-1pt}
\myquestion{Unit Conversion}
{Kolika je gustoća $1.8$ g/cm$^3$ izražena u kg/m$^3$?}
{$0.018$ kg/m$^3$;$0.18$ kg/m$^3$;$1.8$ kg/m$^3$; $18$ kg/m$^3$; $180$ kg/m$^3$; $1800$ kg/m$^3$}
\end{document}

Of course both solutions can be combined depending on what you actually want to accomplish.
\vspace. I edited my answer from\vspace{.5cm}to\vspace{-1pt}. – Maarten Dhondt Mar 25 '15 at 16:45