You can add code to \section so that \blipo gets undefined:
\documentclass{article}
\usepackage{etoolbox}
\preto\section{\undef\blipo}
\begin{document}
\section{First section}
\newcommand*{\blipo}{Jill}
Hello \blipo{}. \blipo{} is blonde.
\section{Second section}
\newcommand*{\blipo}{ET}
Hello \blipo{}. \blipo{} is green.
\section{Third section}
Not defined here. Attempt to use it generates error.
\blipo{}
\end{document}
Here's a piece of the terminal session:
! Undefined control sequence.
l.19 \blipo
{}
?

For a more general version, where you want several commands to get undefined at each section, use the list processing functions of etoolbox:
\documentclass{article}
\usepackage{etoolbox}
%%% The helper macros
\newcommand{\onlysectioncommands}[1]{%
\forcsvlist{\listadd\sectioncommandslist}{#1}}
\preto\section{%
\forlistloop{\undef}{\sectioncommandslist}}
%%% Here we set the special commands; the
%%% list can be augmented anywhere
\onlysectioncommands{\blipo,\foo}
\begin{document}
\section{First section}
\newcommand*{\blipo}{Jill}
\newcommand{\foo}{foo}
Hello \blipo{}. \blipo{} is blonde. \foo
\section{Second section}
\newcommand*{\blipo}{ET}
\newcommand{\foo}{bar}
Hello \blipo{}. \blipo{} is green. \foo
\section{Third section}
\newcommand{\foo}{baz}
Not defined here. Attempt to use it generates error.
\blipo{}
\foo
\end{document}
With \preto we add code at the start of \section. If the class or packages you're using redefine \section, you may need to use
\usepackage{xpatch}
\xpretocmd{\section}
{\forlistloop{\undef}{\sectioncommandslist}}
{}{}
instead.
Update 2023
With the current features of the LaTeX kernel:
\documentclass{article}
\ExplSyntaxOn
\clist_new:N \g_daniel_onlysection_commands_clist
\NewDocumentCommand{\onlysectioncommands}{m}
{
\clist_gput_right:Nn \g_daniel_onlysection_commands_clist { #1 }
}
\AddToHook{cmd/section/before}
{
\clist_map_function:NN \g_daniel_onlysection_commands_clist \cs_undefine:N
}
\ExplSyntaxOff
%%% Here we set the special commands and
%%% the list can be augmented anywhere
\onlysectioncommands{\blipo,\foo}
\begin{document}
\section{First section}
\newcommand*{\blipo}{Jill}
\newcommand{\foo}{foo}
Hello \blipo{}. \blipo{} is blonde. \foo
\section{Second section}
\newcommand*{\blipo}{ET}
\newcommand{\foo}{bar}
Hello \blipo{}. \blipo{} is green. \foo
\section{Third section}
\newcommand{\foo}{baz}
\verb|\blipo| is not defined here, attempt to use it generates error.
\blipo{}
\foo
\end{document}
\renewcommandas in CountZero's answer, the definition can easily be made local by using{before the definition and}where you want it to go out of scope but that makes all (local) definitions scoped to that section that may or may not have unexpected affects depending on what other commands you are using. (It will also increase TeX's memory consumption as the previous values of all those definitions need to be saved to be restored at group end) – David Carlisle Mar 28 '13 at 13:00